2012-03-25 102 views
2

如果有人使用enum名称如下:使用枚举名

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

什么会这个东西这里指的是:

Logger(LEVEL); 
+0

是记录器记录仪确实? (或反过来) – ShinTakezou 2012-03-25 10:53:42

+0

正如艾萨克阿西莫夫所说,数据不足以提供有意义的答案。首先,由于C++区分大小写,我们没有'Logger'的定义。我们不知道该电话是在什么情况下进行的,可能是任何事情。从LEVEL到记录器的静态投射? – 2012-03-25 10:57:00

回答

4

这看起来像一个构造,声明中使用这样的:

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

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

我还需要问一个问题,如果我定义了一个虚拟〜记录器();就在记录器(LEVEL)之后; – gandhigcpp 2012-03-25 11:00:42

0

LEVEL是一个枚举,这意味着水平只能是值调试,警告,通知,错误。Logger(LEVEL);是构造方法的类的记录器其Logger()只接受来自调试,警告,通知,和错误作为第一个参数之间的值,可能初始化属性LEVEL到提供的值的调用。