我在我的code
中使用名称空间中的枚举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";
}
它在简单的控制台应用程序中工作正常。但是,如果我将此代码放在GUI Qt小部件应用程序中,则会出现错误:
'Statusss::Statuss' is not a class or namespace
if (mystatus == (Statusss::Statuss::Ok))
^
为什么我得到这个?
答案 0 :(得分:4)
该符号的正确名称是
Statusss::Ok
在传统的C风格枚举中,就像你在这里展示的那样,枚举类型不是范围的一部分。