我有一个由dobule A [2] [2]组成的matrix2d类。我试图做一个构造函数,它使用相同类型的obejct并将其所有值复制到A [2] [2]。我有一个问题,这里是类:在C++中复制数组 - 参考
class matrix2D {
public:
double A[2][2];
double Z[2][2];
//Default Constructor.
matrix2D() {
A[0][0] = A[1][1] = 1;
A[0][1] = A[1][0] = 0;
}
matrix2D(double x00,double x01, double x10, double x11) {
A[0][0] = x00;
A[0][1] = x01;
A[1][0] = x10;
A[1][1] = x11;
}
,现在我要创建一个构造函数,需要matrix2D对象,然后取其所有值A.
// Copy Constructor.
matrix2D(matrix2D& Z) {
for(int i = 0; i < 2; ++i) {
for(int j = 0; j < 2; ++j) {
A[i][j]=*(Z[i][j]);
}
}
}
它告诉我,我尝试将double赋给matrix2d对象。为什么* Z [i] [j]没有引用double?
求助: 我做了A [i] [j] = Z.A [i] [j] :)!
相同的错误:'operator []'不匹配'(操作数类型是'matrix2d'和'int') –
为什么'*'?没有涉及指针。 –
让编译器完成它的工作。它会使复制构造函数执行正确的操作。 – juanchopanza