如何解决什么是在C ++中使用枚举访问值的正确方法
我在编码时遇到了这个问题,我不确定为什么会这样。 考虑这段代码
案例1
#include<iostream>
enum test{
a,b,c,d,e,f
};
int main(){
std::cout << a;
return 0x1;
}
案例2
#include<iostream>
enum test{
a,f
};
int main(){
std::cout << test::a;
return 0x1;
}
为什么代码都可以同时编译和正确执行?使用枚举时是否不需要使用test::
?
解决方法
否,test::
不是必需的,因为enum test
声明了 unscoped 枚举。当您定义这样的作用域枚举时,test::
变得很有必要:
enum class test {...};
有关更多详细信息,另请参见https://en.cppreference.com/w/cpp/language/enum。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。