枚举类:未命名值错误

tma*_*hey 5 c++ visual-studio-2013

我有

enum class ErrorLevel
    {
        VERBOSE,
        DEBUG_,
        INFORMATION,
        WARNING,
        ERROR
    };
Run Code Online (Sandbox Code Playgroud)

这有效:

assertDetectionParameters( parameterSet, ErrorLevel::WARNING );
Run Code Online (Sandbox Code Playgroud)

这不会:

assertDetectionParameters( parameterSet, ErrorLevel::ERROR );
Run Code Online (Sandbox Code Playgroud)

错误 1 ​​错误 C2589:“常量”:“::”右侧的非法标记
错误 2 错误 C2059:语法错误:“::”

Resharper 说:

“ErrorLevel 未命名值”

我的枚举中的某些名称出现此错误。

Pau*_*l R 2

ERROR可能已经是某个地方的预处理器宏。尝试将其更改为其他内容,例如ERROR_,以检验该假设。或者通过预处理器运行代码以查看进行了哪些替换(gcc -E ...或 Visual Studio 中的任何等效项)。