Я пишу последовательную библиотеку, используя boost, и у меня есть enum:
enum parity_t { PARITY_NONE, PARITY_ODD, PARITY_EVEN };
Я получаю сообщения об ошибках типа:
Ошибка 1, ошибка C2059: синтаксическая ошибка: '('
Я не мог понять, в чем проблема. Тогда мы с другом попробовали:
void PARITY_NONE();
И мы получили эти ошибки:
Ошибка 1, ошибка C2143: синтаксическая ошибка: отсутствует «)» перед «константой»
Ошибка 2, ошибка C2143: синтаксическая ошибка: отсутствует ';' до «константы»
Ошибка 3, ошибка C2182: «СЛОВО»: недопустимое использование типа «void»
Ошибка 4: ошибка C2059: синтаксическая ошибка: ')'
Я включаю boost asio, который, я думаю, включает где-то серийный API Windows. Это происходит только в Windows. Как обходной путь, я изменил свои имена перечисления. Однако я не могу найти что-либо связанное с этой проблемой в Интернете. Может ли кто-нибудь помочь нам понять это?