为带有静态数组的类编写复制构造函数时出错



我得到了错误数组作为初始化器"试图为下面的类编写复制构造函数时。请帮助我解决这个问题!:)

代码:

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) {}

最新更新