typedef char bool;
不起作用(编辑:它不能编译为“致命错误 C1004:发现意外的文件结尾”,而不仅仅是 Intellisense 的推断)。我假设的原因是 bool 是 Microsoft Visual C/C++ 中的保留关键字之一。因为我需要布尔类型的文字名称作为精确的“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 中的潜在错误)