【发布时间】:2013-09-02 17:12:23
【问题描述】:
当我在以下 C++ 源代码中编译时,我得到 "error: expected '}'" '^' 指向的位置:
typedef enum { false, true } Boolean;
^
当我将它编译为 C 源代码时,我没有收到此错误。
这是什么原因?我被难住了!
【问题讨论】:
-
您不能将名称
false和true赋予 C++ 中的任何内容。请注意,bool已经是 C++ 中的一个类型,false和true是它的值。 -
为什么要用枚举重新创建 bool?
-
C99 中也有
bool(包括<stdbool.h>)。 -
@user2738698: 不,人们定义他们自己的 bool 使用与 C++ 已经提供的名称相同的名称,是导致问题的原因
-
哦,我的意思是随着时间的推移而开发的代码,其中最初被认为是二进制的变量会突然变得更加复杂,就像这样:link