[英]Visual studio compiler errors at enum
我有以下代碼,它們可以在Linux和Mac OS X下無錯誤地進行編譯。我現在想用Windows進行編譯,但是在以下代碼段中出現了很多錯誤:
...
enum Type
{
UPDATE = 0, DELETE = 1
};
...
錯誤消息如下:
1>Request.hpp(48) : error C2143: syntax error : missing '}' before '('
1>Request.hpp(48) : error C2059: syntax error : '<L_TYPE_raw>'
1>Request.hpp(49) : error C2143: syntax error : missing ';' before '}'
1>Request.hpp(49) : error C2238: unexpected token(s) preceding ';'
我做錯了什么,我真的很困惑,因為它可以在Linux下正確編譯。 什么會導致此錯誤?
解決方案非常簡單,但是需要發現DELETE是在Windows標頭中定義的宏。
我現在添加了#undef DELETE,它可以正常工作。
Type
是一個現有的類。 您需要更改名稱或指定它是文字。
您可以嘗試使用enum @Type
指定文字,盡管您可能需要在其他位置以@
作為前綴。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.