为什么g ++接受缺少底层类型的引用类型?

时间:2017-09-06 16:51:51

标签: c++ c++11 g++

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

这是g ++ 5.4.0成功编译和构建的最小程序。

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

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

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

1 个答案:

答案 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进行编译。