我对编译我的MFC项目时遇到的这个错误感到有些困惑。为了简化,我要列举这样的事情:在enumurated数据类型中使用#define常量,语法错误
enum Cars
{
Audi,
Bmw,
Ford
};
,工作正常,但我得到的错误在编译的时候我定义任何的“汽车”,如:
#define Audi 100
...
...
enum Cars
{
Audi,
BMW,
Ford
};
的错误我得到的,无论是在头我写了这一点,并在源文件
错误C2143:语法错误:缺少前“常量”“}”
错误C2143:语法错误:缺少';'之前“}”
错误C2059:语法错误:“}”
我不知道为什么我得到一个语法错误,因为这两个部分罚款分别编译。我知道我可以很容易地在枚举定义中定义奥迪= 100,但在我的实际项目中,我不能这么做。
您已经使用了C++ 11功能并将其转换为非功能部件。如果使用'enum class',枚举器不会隐式转换为整数。因此,分配的值不感兴趣。如果你想明确地分配整数值给枚举器,可以使用一个简单的'enum'。 – IInspectable