Использование enum в пространстве имен - PullRequest
0 голосов
/ 21 мая 2018

Я использую перечисление в пространстве имен в моем коде

namespace Statusss
{
enum  Statuss
    {
    Out = -1,
    Ok = 0,
    Busy = 1,
    Error = 2,
    Nor = 3
    };
}


void tst()
{
  int status =0;

  Statusss::Statuss mystatus = static_cast<Statusss::Statuss>(status);

  if (mystatus == (Statusss::Statuss::Ok))
  {
    std::cout << "Ok\n";
  } else std::cout << "Other\n";

}

Это прекрасно работает в простом консольном приложении.Но если я помещаю этот код в приложение графического интерфейса Qt, у меня появляется ошибка:

'Statusss::Statuss' is not a class or namespace
   if (mystatus == (Statusss::Statuss::Ok))
                              ^

Почему я получаю это?

1 Ответ

0 голосов
/ 21 мая 2018

Правильное имя для этого символа:

Statusss::Ok

В традиционном перечислении в стиле C, например, как показано здесь, тип перечисления не является частью области действия.

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