我有一個由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