我正在使用 Visual Studio 2005 C++ 编译器(但使用 C89 类型 ANSI C 进行编码)并且无法定义要使用的“true”和“false”关键字,如下所示:
#define true 1
#define false 0
我已经使用 Green Hills C++ 编译器成功地使用了这个确切的代码,但是 Visual Studio 的行为就像“true”和“false”已经是关键字一样。这是真的?我可以用我自己的定义覆盖它们吗?如果可以,如何?
通过使用上面的行,我在编译过程中遇到 C2143 错误,例如:
someFuntion(someVar,otherVar,true);
我已经确定其他类型与函数定义匹配,如果我将 true 更改为“1”或“0x1”,错误就会消失。