为啥 g++ 接受缺少基础类型的引用类型?
Posted
技术标签:
【中文标题】为啥 g++ 接受缺少基础类型的引用类型?【英文标题】:Why does g++ accept a reference type with missing underlying type?为什么 g++ 接受缺少基础类型的引用类型? 【发布时间】:2017-09-06 16:51:51 【问题描述】:我的意思是向一个类添加一个复制构造函数,但忘记添加类型。 g++ 5.4.0 编译成功。
这是一个 g++ 5.4.0 成功编译和构建的最小程序。
struct Foo
Foo(const&)
Foo()
;
int main()
Foo f1;
Foo f2 = f1;
为什么 g++ 不将Foo(const&)
报告为错误?
【问题讨论】:
我在想可能是隐式 int 但I can't reproduce on Wandbox 请提供一个活生生的例子。 @ShafikYaghmour,ideone.com 不允许我选择编译器版本。允许您这样做的网站上的任何指针? 是的,我评论中的链接转到了 Wandbox。 @ShafikYaghmour 这确实很奇怪。我的安装中一定还有其他东西。这是显示我发布的终端的图像。 imgur.com/5BIGluy. 【参考方案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 进行编译。
【讨论】:
以上是关于为啥 g++ 接受缺少基础类型的引用类型?的主要内容,如果未能解决你的问题,请参考以下文章
定义,并且找不到可接受类型为“ASP._aspx”的第一个参数的扩展方法“”(是否缺少 using 指令或程序集引用?)
“ASP._aspx”不包含“”的定义,并且找不到可接受类型为“ASP._aspx”的第一个参数的扩展方法“”(是否缺少 using 指令或程序集引用?)