C言語標準によれば、との間の行#if 0
は#endif
前処理トークンを含むためにのみ必要であるため、ほとんどの種類の完全に不正な構文、たとえば#foo
or#include [bar]
は許可されます(黙って無視されます)。GCCとMicrosoftC++は、実際にそのようなことを黙って無視します。
@
私が見る限り、Anは前処理トークンに対応していないので、構文エラーであるはずです。GCCとMicrosoftC++は黙ってそれを無視します。これは事実上言語拡張ですか、それとも何かが足りませんか?
誰かが実際に不正な形式の構文を実際に配置する機能を使用してい#if 0
ます#endif
か?