C++11 定义与枚举同名的枚举类
为什么在c++11中进行编译:C++11 定义与枚举同名的枚举类,c++11,enum-class,C++11,Enum Class,为什么在c++11中进行编译: struct foo { enum class Resolution { None=10, Nominal=20 }; enum class Scale { None, Nominal }; }; 但这并不是: struct foo { enum Resolution { None=10, Nominal=20 }; enum Scale { None, Nominal }; }; ?在C++11之前,枚举值没有范围,这意味着两个枚举中的值不能
struct foo
{
enum class Resolution { None=10, Nominal=20 };
enum class Scale { None, Nominal };
};
但这并不是:
struct foo
{
enum Resolution { None=10, Nominal=20 };
enum Scale { None, Nominal };
};
?在C++11之前,枚举值没有范围,这意味着两个枚举中的值不能相同。
使用
enum类
时不再是这种情况,您不需要将其放入结构中来产生这种歧义。