typedef char bool;
動作しません(編集:Intellisenseによる推論だけでなく、「致命的なエラーC1004:予期しないファイルの終わりが見つかりました」に対してコンパイルされません)。私が推測する理由は、bool が Microsoft Visual C/C++ の予約済みキーワードの 1 つであるためです。ブール型のリテラル名が正確な「bool」として必要なので (つまり、次のような bool 以外の型名
boolean
BOOLEAN
BOOL
Bool
...
ANSI C(ISO/IEC-9899:1990) Microsoft Visual C/C++ に準拠していないキーワード「bool」をオーバーライドするために使用できるコンパイル オプションはありますか?
注意: これは C++ や VISUAL C++ に関するものではありません。互換モードの MSVC コンパイラを使用した ANSI C 90 でのプログラミングについてです。
前もって感謝します。
補足
コンパイル オプション: /TC /Za
/* ANSI C file main.c */
typedef char bool;
int main(int argc, char * argv[])
{
return 0;
}
(編集: この問題は解決されました。この場合 - typedef char bool - ANSI C に関しては、/Za オプションを設定して Microsoft 言語拡張機能を無効にすることはできませんが、Microsoft は反対のことを提案しています。 Visual Studio 2012 RC では潜在的なバグとして扱われます)