• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:gccですが、コンパイルができません!)

gccでコンパイルできない理由を解説

このQ&Aのポイント
  • gccでコンパイルする際にエラーが発生し、コンパイルができない問題が生じています。
  • プログラム中の変数の型や構文に誤りがあり、コンパイルエラーが発生しています。
  • コンパイルエラーの原因として、`Int`という未定義の型や、変数`col`の未宣言、構文エラーなどが考えられます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

そんな難しい英語でもないのですから、読みましょうよ。 >p.c: In function `main': >p.c:4: error: `Int' undeclared (first use in this function) >p.c:4: error: syntax error before "col" main関数内、ソースファイルの4行目に"Int"という宣言されていないのものがある。 上記のエラーにより"col"が文法エラー。 >p.c:7: error: `col' undeclared (first use in this function) ソースファイルの7行目に"col"という宣言されていないものがある。 Intじゃなくて、intじゃありませんか? 大文字・小文字は区別しますが…。 どこかで #define Int int とか、 typedef Int int; とかしていない限りはエラーでしょう。

gogatunijyuku
質問者

お礼

 皆様ご回答誠にありがとうございました。 4行目エラーと出ていたのに、丸投げ質問をしてしまいました。  ご指摘通りIntをintに変えたらOK^^でした。 今度からちゃんと見て質問します。

その他の回答 (6)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.7

i を char にする理由は, はっきり言って思いつきません>#6. 全く思いつかないわけじゃないんだけど, 「とんでもなくスタックがひっ迫していて char じゃないとそもそも動かない」 という状況しか出てこない. そして, スタックアラインメントの関係でそのような状況は (完全に否定できないものの) おそらく非常に作りにくい. いずれにしても ・int 以下の型の値は何かするたびに int に自動的に変換される ・printf の 2つ目以降の引数は可変長引数の ... の部分だから int に自動的に変換される ・そもそも C において 'a' の型は int なので, i を int にできるなら int の方がはるかに普通.

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.6

たびたび、フォロー(ツッコミ)ありがとうございます>#5 わりとどうしようもない間違いかますことが…… ループ変数にcharは…確かに普通は見ませんね…。 >printf( "%c", 'a' + i ); でcharにした…んでしょうか……。intでも問題ありませんけど……。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.5

ど~でもいいですが, typedef なら typedef int Int; でしょう>#1. しかし, ループ変数を char にするってのも珍しいスタイルだなぁ....

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

すでに回答が出ているように、intと書くべきところにIntと書いてしまっているからです。 Cでは、大文字と小文字は厳密に区別します。 もし、曖昧に扱う癖がついているのなら、早い段階で矯正しましょう。 あと、最後の警告については下記の理由かと思います。 http://www.kijineko.co.jp/tech/superstitions/last-letter-of-file-is-brace.html

回答No.3

> なぜコンパイルができないのですか?  変数宣言部の「Int col;」が 「int」ではなく「Int」と、大文字に成ってしまっているから ではでは…

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

この先お世話になるエラーメッセージです。人に頼らずに読めるようになりましょう。 > p.c:4: error: `Int' undeclared (first use in this function) よく出会うエラーです。 undeclared : 宣言されていない。 ということで、宣言されていない変数や関数を使おうとするときに発生します。 主な原因は ・必要なヘッダを#includeしていない ・宣言と使用箇所の順番違う ・只の入力間違い です。 何を使おうとしたのが問題なのか、というのは Int だと言っています。 ここまででわかったのではないでしょうか?