定义与枚举相比具有相同名称的枚举类

时间:2015-03-30 11:32:37

标签: 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 };
};

1 个答案:

答案 0 :(得分:2)

在C ++ 11之前,enum值是无范围的,意思是2个枚举中的值不能相同。 使用enum class时不再是这种情况。

相关问题