大佬教程收集整理的这篇文章主要介绍了c – 为什么联盟已经删除默认构造函数,如果其中一个成员没有任何一个?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <iostream> #include <limits> struct A { A(const A&){ std::cout << "~A()" << std::endl; } //A has no default constructor }; union U { A a; }; U u; //error: call to implicitly-deleted default constructor of 'U' int main() { }
这种行为对我来说不是很清楚. struct A没有隐式声明的默认构造函数,因为12.1 / 4:[class.ctor]说:@H_607_3@
这意味着struct A没有一个非平凡的默认构造函数(根本没有默认构造函数,特别是非平凡的).这是联合U不必具有删除的默认构造函数.怎么了?@H_607_3@
以上是大佬教程为你收集整理的c – 为什么联盟已经删除默认构造函数,如果其中一个成员没有任何一个?全部内容,希望文章能够帮你解决c – 为什么联盟已经删除默认构造函数,如果其中一个成员没有任何一个?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。