我想在C++中将一个大小固定的二维数组用作类成员。然而,在构造函数中初始化它时遇到了问题。
以下是我的尝试,但都没有成功:
1.)
以下是我的尝试,但都没有成功:
1.)
class A {
public:
int a[2][2];
A();
};
A::A() {
a = {{1,2},{2,4}};
}
输出结果: 错误:从初始化列表向数组赋值
2.)
class A {
public:
int a[2][2];
A();
};
A::A() {
int b[2][2] = {{1,2},{2,4}};
a = b;
}
产生: 无效的数组赋值
3.)class A {
public:
int **a;
A();
};
A::A() {
int b[2][2] = {{1,2},{2,4}};
a = b;
}
输出:错误:无法将'int [2][2]'转换为'int **'进行赋值
我来自C语言的背景。我知道我可以使用std::vector
,也知道这种方法的缺点,但由于这对我来说是一个练习,我想知道如何使用普通数组使它正常工作。我应该补充说明,我希望在以后处理这个数组。我想改变存储的值,但不想改变大小。也许这也很重要(我想在正确的位置加上const
可能会有所帮助?)。
-pedantic-errors
的错误代码。 - Constructor