enum class MyEnum{
P1 = ,
P2,
P3,
P4,
P5
}; MyEnum myEnum = MyEnum::P2;
使用作用域的方式获取并限定P2的值。之所以要使用作用域,是为了避免歧义。比如考虑以下情况
enum class Enum1{
P1 = ,
P2 =
}; enum class Enum2{
P1 = ,
P2 =
};
两个枚举,里面的元素名字一样,但是如果还是执行 Enum1 myEnum = P2 的话,会出现歧义:这个P2到底是谁的P2。所以c++11中推出了这种表达方式
作用域内枚举不能直接通过cout输出,可以把他转化为int型
cout << int( myEnum ) << endl;
欢迎补充,一同进步