我有以下代码在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下编译没有错误。 什么可能导致这个错误?
答案 0 :(得分:5)
解决方案非常简单,但需要知道DELETE是在windows标头中定义的宏。
我现在添加了#undef DELETE,它运行正常。
答案 1 :(得分:0)
Type
是现有的课程。您需要更改名称或指定它是文字。
您可以尝试enum @Type
指定文字,但您可能需要在其他位置添加@
作为前缀。