为什么这会在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 };
};
答案 0 :(得分:2)
在C ++ 11之前,enum值是无范围的,意思是2个枚举中的值不能相同。
使用enum class
时不再是这种情况。