我得到了错误数组作为初始化器"试图为下面的类编写复制构造函数时。请帮助我解决这个问题!:)
代码:
class A
{
int arr[10];
public:
A() : arr{10, 20, 30, 40, 50, 60, 70, 80, 90, 100} {}
A(int n) : arr{n, n, n, n, n, n, n, n, n, n} {}
A(const A &ref) : arr(ref.arr) {}
};
int main()
{
A a1;
A a2(a1);
return 0;
}
错误:
testing.cpp: In copy constructor ‘A::A(const A&)’:
testing.cpp:8:34: error: array used as initializer
8 | A(const A &ref) : arr(ref.arr) {}
| ^
删除不必要的构造函数。成员将自动复制。
// A(const A &ref) : arr(ref.arr) {}