使用枚举名称

时间:2012-03-25 10:40:43

标签: c++ enums

如果有人使用enum名称,如下所示:

class Logger
{
 public:
           enum LEVEL
           {
               Debug,
               Warning,
               Notification,
               Error
           };
};

这件事意味着什么:

Logger(LEVEL);

2 个答案:

答案 0 :(得分:4)

这看起来像构造函数的声明,就像这样使用:

struct Logger
{
    enum LEVEL { Debug, Warning, Notification, Error };
    Logger(LEVEL);
    // ...
};

Logger wlogger(Logger::Warning);
Logger elogger(Logger::Error);

答案 1 :(得分:0)

LEVEL是一个枚举,它表示LEVEL只能是值调试,警告,通知,错误。 Logger(LEVEL);是对构造函数的调用Logger类的Logger()只接受调试,警告,通知错误中的值作为其第一个参数,并可能初始化属性{{1}提供的值。