一位同事给我发送了类似于以下代码:
#include <iostream>
class Weird
{
public:
Weird();
};
Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird::Weird()
{
std::cout << "Ok, this is weird.\n";
}
int main()
{
Weird a;
}
Run Code Online (Sandbox Code Playgroud)
它编译运行并产生“好吧,这很奇怪”。我在在线编译器中使用g ++,clang和msvc进行了尝试,并且可以在所有这些程序上使用。
为什么要接受重复的类名限定符?这是标准要求的吗?