Cでは、関数宣言はプロトタイプ宣言またはプロトタイプ宣言ではありません。たとえば、以下の最小限のプログラムを検討:C99に非プロトタイプ宣言は廃止されているが、非プロトタイプ宣言のコンパイル警告の取得
int foo(); /* non-prototype declaration */
int bar (void); /* prototype declaration */
int main (int argc, char **argv)
{
return 0;
}
を、私はGCCがそれらについて文句を取得することはできません。例えば、GCCと上記のプログラムをコンパイルすると、すべてのエラーがちょうど成功有効:
$ gcc -std=c99 -pedantic -Werror -Wall test.c
$
はプロトタイプではない関数宣言のために警告を発するようにGCCを説得する方法はありますか?
は(Keith Thompsonでan answerに触発質問。)
私はそれが '-Wall'に含まれると考えましたが、明らかに私は間違っていました。 :-) –