2012-02-06 5 views

답변

2

첫 번째 구문은 표준 C99이며 표준 C++ 11입니다. 두 번째는 GNU 특정 확장이라고 생각합니다.

+1

C99에서 (2)는 gcc에서 오류를 발생시킵니다. 나는 당신이 GNU ** CPP ** 확장을 의미한다고 생각합니다. –

+0

@Jesse : (1)과 (2)가 전처리기에 의해 처리되도록 확실히 허용 할 것입니다. "C99에서 (2) gcc에 오류가 발생합니다." 'gcc --std = c99'로 컴파일 할 때를 의미합니까? 아니면 전처리 기없이 컴파일하고 있습니까? – Managu

+0

경고 : ISO C는 명명 된 가변 매크로를 허용하지 않으므로'gcc -Wall -pedantic -std = c99'가 필요합니다. –