我的意思是将复制构造函数添加到类中但忘记添加类型。 g ++ 5.4.0成功编译了这个类。
这是g ++ 5.4.0成功编译和构建的最小程序。
struct Foo
{
Foo(const&) {}
Foo() {}
};
int main()
{
Foo f1;
Foo f2 = f1;
}
为什么g ++不会将Foo(const&) {}
报告为错误?
答案 0 :(得分:1)
这似乎是我安装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进行编译。