我在两个编译器上进行了测试,并且惊讶地看到它们都支持以下定义而没有抱怨:
class A { A(); }; A::A::A() {} ^^^
请注意,这也适用于方法,尽管在声明过度限定时会对其进行标记.
问题:
更新细节:
如果原始问题不明确或太短:我很好奇为什么在定义上允许多余的资格(重点也在上面添加).
Clang和Apple的GCC 4.2 + LLVM是编译器
c++ scope definition
c++ ×1
definition ×1
scope ×1