枚举类:不命名值错误

enum class: does not name a value error

本文关键字:错误 枚举      更新时间:2023-10-16

我有

enum class ErrorLevel
    {
        VERBOSE,
        DEBUG_,
        INFORMATION,
        WARNING,
        ERROR
    };

如此:

assertDetectionParameters( parameterSet, ErrorLevel::WARNING );

assertDetectionParameters( parameterSet, ErrorLevel::ERROR );

错误1错误C2589: '::'右边的'constant':非法标记
C2059语法错误:'::'

Resharper说:

"ErrorLevel未指定值"

对于枚举中的某些名称,我得到这个错误。

ERROR可能已经是一个预处理器宏。试着把它改成别的东西,比如ERROR_,来检验这个假设。或者通过预处理器运行您的代码,看看正在进行哪些替换(gcc -E ...或visualstudio中的等效内容)。