我對編譯我的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