N4567的§3.3.7/ 4是多余的吗?

时间:2015-12-30 16:03:29

标签: c++ language-lawyer

根据N4567,3.3.7第4段说,

  

扩展到或超过类定义结尾的声明的潜在范围也扩展到由其成员定义定义的区域,即使成员是在词典之外的词汇中定义的。

但是,我认为没有必要说清楚,因为这样的成员定义必须在该声明的范围内,而不管它的词汇定位。换句话说,似乎没有这样的成员定义不属于声明范围的情况。请参阅以下示例:

int always_visible=10;

class some {
    int foo(void);
};

int some::foo(void) {
    // no ambiguity occurs because its member definition
    // is always in the scope of always_visible.
    return always_visible;
}

我认为其成员定义不可能在always_visible的声明之前,在这种情况下,上面的措辞可能是有用的。那么,为什么需要澄清呢?

0 个答案:

没有答案