簡體   English   中英

枚舉時的Visual Studio編譯器錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM