1.当你在一个.cpp文件中申明一个类后,在同.cpp文件的主函数中去使用对象数组,给对象数组用无名对象赋初始值没有任何问题。
point2 p[3] = { point2(1,1),2 };
2.当其它.cpp文件也想使用该类给对象数组用无名对象赋初始值时,出现了如下问题。
E0334 类 "point" 没有适当的复制构造函数
明明有复制构造函数啊,该类的头文件也没有问题。
这是由于point2(1,1)无名对象的输出是const类型的,而定义的复制构造函数的形参不是const类型造成的。
所以只需要重载一下复制构造函数就可以了,别忘了声明处也要加const
1.
2.