c – 为什么g接受缺少基础类型的引用类型?

我的意思是将一个复制构造函数添加到类中但忘记添加该类型. g 5.4.0成功编译了类.

这是一个g 5.4.0编译和构建成功的最小程序.

struct Foo
{ 
   Foo(const&) {}
   Foo() {}
};

int main()
{
   Foo f1;
   Foo f2 = f1;
}

为什么g不报告Foo(const&){}为错误?

最佳答案 这似乎是我安装g 5.4.0的一个缺陷.

它无法在https://ideone.com/D0vGrw使用g 6.3进行编译.

我使用了相同的代码块.

struct Foo
{ 
   Foo(const&) {}
   Foo() {}
};

int main()
{
   Foo f1;
   Foo f2 = f1;
}

它也无法在Wandbox使用g 5.4.0进行编译.

点赞