注册 登录
编程论坛 C++教室

警告:枚举类型未设定范围

ke_liu 发布于 2020-04-15 21:19, 17546 次点击
这是代码:
程序代码:
#include<iostream>
using namespace std;
int main(void)
{
    enum Week{ Sunday, Monday, Tuesday};
    Week week;
    int i;
    for (i = 0; i < 3; i++)
    {
        switch (i)
        {
            case 0:week = Week(0); break;
            case 1:week = Week(1); break;
            case 2:week = Week(2); break;
        }
        switch(week)
        {
            case Sunday:cout<<"Sunday"<<endl; break;
            case Monday:cout<<"Monday"<<endl; break;
            case Tuesday:cout<<"Tuesday"<<endl; break;
        }
    }
        return 0;
}

调试时显示:“枚举类型“main::__l2::Week”未设定范围。相比于 "enum",首选 "enum class"”这样一个警告。
我想问一下如何设定范围,不想用"enum class"?
3 回复
#2
rjsp2020-04-15 21:50
这中文,比机器翻译的还难受,我也看不懂。

在 C++ 中,enum 就是 作用域 的,enum class 就是 作用域 的。
#3
ke_liu2020-04-16 13:28
回复 2楼 rjsp
好吧,我懂了。
谢谢!
#4
柯志宏2022-04-04 09:38
什么意思,我没明白,意思是要将enum换为enum class?
1