枚举类:没有命名值错误

时间:2015-06-08 06:58:47

标签: c++ visual-studio-2013

我有

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

这有效:

assertDetectionParameters( parameterSet, ErrorLevel::WARNING );

这不是:

assertDetectionParameters( parameterSet, ErrorLevel::ERROR );
  

错误1错误C2589:'常数' :' ::'
右侧的非法令牌   错误2错误C2059:语法错误:' ::'

Resharper说:

  

" ErrorLevel没有为值命名"

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

1 个答案:

答案 0 :(得分:2)

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