コンパイラの警告で出てくるメッセージですが”function "XX-YYY" declared implicity”とは、どういう意味ですか?

C言語関連60,347閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

このベストアンサーは投票で選ばれました

NEW! この回答はいかがでしたか? リアクションしてみよう

その他の回答(1件)

以下のような感じで、その関数を使う前に関数定義も関数宣言もない場合に、コンパイラが出すワーニングメッセージだと思います。関数の定義も宣言もない関数が使用された場合、コンパイラは、その関数が int を返すものだと仮定して処理します。なので、実際に違う型を返す関数の場合にその関数の戻り値に不具合が生じることや、実引数と仮引数のコンパイラによる型チェックも働かないので、プログラミングミスを生じてしまう要因になりやすいです。 関数を実際に呼び出す前に、関数宣言(関数定義でもよいが)を必ずしておく習慣をつけておいたほうがいいかと思います。 === sample.c int main(void) { f(); return 0; } int f() { return 0; } ==== % gcc -Wall sample.c sample.c: In function 'main': sample.c:3: 警告: implicit declaration of function 'f'