использование имени enum - PullRequest
2 голосов
/ 25 марта 2012

Если кто-то использует enum имя следующим образом:

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

Что бы это значило здесь:

Logger(LEVEL);

Ответы [ 2 ]

4 голосов
/ 25 марта 2012

Это выглядит как объявление конструктора , который будет использоваться следующим образом:

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

Logger wlogger(Logger::Warning);
Logger elogger(Logger::Error);
0 голосов
/ 25 марта 2012

LEVEL - это перечисление. Это означает, что LEVEL может иметь только значения Debug, Warning, Notification, или Error. Logger(LEVEL); - это вызов конструктора Logger() of Класс Logger, который принимает значения только из Debug, Warning, Notification, и Error в качестве первого параметра и, вероятно, инициализирует свойство LEVEL указанным значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...