相关疑难解决方法(0)

为什么编译器支持冗余范围限定,是否合法?

我在两个编译器上进行了测试,并且惊讶地看到它们都支持以下定义而没有抱怨:

class A {
  A();
};

A::A::A() {}
   ^^^
Run Code Online (Sandbox Code Playgroud)

请注意,这也适用于方法,尽管在声明过度限定时会对其进行标记.

问题:

  • 这是一个有效的C++程序吗?
  • 如果是这样,它的目的是什么 - 或者仅仅是副产品?

更新细节:

如果原始问题不明确或太短:我很好奇为什么在定义上允许多余的资格(重点也在上面添加).


Clang和Apple的GCC 4.2 + LLVM是编译器

c++ scope definition

23
推荐指数
1
解决办法
536
查看次数

标签 统计

c++ ×1

definition ×1

scope ×1