Visual Studio 2005 C ++コンパイラを使用しています(ただし、C89タイプANSI Cを使用してコーディングしています)が、次のように使用する「true」および「false」キーワードを定義できません。
#define true 1
#define false 0
Green Hills C ++コンパイラを使用してこの正確なコードを正常に使用しましたが、VisualStudioは「true」と「false」がすでにキーワードであるかのように動作します。これは本当ですか?それらを自分の定義でオーバーライドできますか?もしそうなら、どのように?
上記の行を使用すると、次のような行のコンパイル中にC2143エラーが発生します。
someFuntion(someVar,otherVar,true);
他のタイプが関数定義と一致することをすでに確認しました。trueを「1」または「0x1」に変更すると、エラーはなくなります。