C에서 함수 선언은 프로토 타입 또는 비 프로토 타입 선언 일 수 있습니다. C99 비 프로토 타입 선언이 사용되지 않습니다, 나는 얻을 수는 없지만 프로토 타입이 아닌 선언에 대한 컴파일 경고 받기
int foo(); /* non-prototype declaration */
int bar (void); /* prototype declaration */
int main (int argc, char **argv)
{
return 0;
}
는 GCC가 그들에 대해 불평 할 : 예를 들어, 다음과 같은 최소한의 프로그램을 고려하십시오. 예를 들어, GCC와 함께 위의 프로그램을 컴파일하고 바로 사용할 수있는 모든 오류는 성공 : 프로토 타입없는 함수 선언에 대한 경고를 방출하는 GCC를 설득 할 수있는 방법은
$ gcc -std=c99 -pedantic -Werror -Wall test.c
$
있습니까?
(Keith Thompson에 의해 an answer에서 영감을 질문.)
나는 그것이'-Wall'에 의해 포함될 것이라고 생각했지만 분명히 틀 렸습니다. :-) –