我越来越"error: expected '}'"
当我在以下 C++ 源代码中进行编译时,“^”指向的位置:
typedef enum { false, true } Boolean;
^
当我将其编译为 C 源代码时,我没有收到此错误。
这到底是什么原因呢?我被难住了!
false
and true
是 C++ 关键字,因此不能将它们用作enum
身份标识。
在 C 中,它们不是关键字,因此您的代码可以工作,但如果您包含<stdbool.h>
那么它将无法编译,因为该标头定义了false
and true
作为宏。
请注意,您可能不应该自己实现布尔类型。 C++已经有bool
类型,如果您使用的是 C99 编译器,则可以包含stdbool.h
。这会给你一个bool
类型有false
and true
值,类似于 C++。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)