Ошибки компилятора Visual Studio в enum - PullRequest
1 голос
/ 15 ноября 2011

У меня есть следующий код, который без ошибок компилируется под 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. Что может вызвать эту ошибку?

Ответы [ 2 ]

5 голосов
/ 15 ноября 2011

Решение довольно простое, но нужно выяснить, что DELETE - это макрос, определенный в заголовке Windows.

Я сейчас добавил #undef DELETE, и он отлично работает.

0 голосов
/ 15 ноября 2011

Type - это существующий класс.Вам нужно изменить имя или указать, что это литерал.

Вы можете попробовать enum @Type, чтобы указать литерал, хотя вам может понадобиться префикс его @ в другом месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...