C ++ 0x草案中的一点:n3290

时间:2011-05-25 06:23:40

标签: c++ c++11

N3290 ISO标准草案,§3.4.1/ 12:

  

在查找枚举器定义常量表达式中使用的名称时,枚举的先前声明的枚举器是可见的并隐藏包含 enum-specifier 的块,类或命名空间范围中声明的实体的名称。

这是增加的新观点,任何人都可以通过一个例子来说明这一点(就例子而言)吗?

1 个答案:

答案 0 :(得分:10)

让我们来看一些代码:

struct X {};

enum Foo
{
  X = 0,
  Y,
  Z = X // X refers to the enum, not the type
};