CPP-file:
Matrix2x2& operator +=(const Matrix2x2 & rhs)
{
for (int i = 0; i < 2; i++)
{
for (int n = 0; n < 2; n++)
{
this->anArray.[i][n] += rhs.anArray[i][n];
}
}
return *this;
}
ヘッダーファイル:
class Matrix2x2
{
private:
double anArray[2][2];
public:
Matrix2x2();
Matrix2x2(int a, int b, int c, int d);
void setArrayValues(int row, int column, double value);
const double getArrayValues(int row, int column) const;
Matrix2x2& operator +=(const Matrix2x2 & rhs)
};
メインファイル:
Matrix2x2 aMatrix(4,4,4,4);
Matrix2x2 bMatrix;
aMatrix += bMatrix;
これを実行しようとすると、次のようになります。
エラー:'Matrix2x2&operator + =(const Matrix2x2&)'は正確に2つの引数を取る必要があります
理由がわかりませんか?
に置き換えました
Matrix2x2& Matrix2x2::operator+=(const Matrix2x2 & rhs);
そして、私はこれらのエラーを受け取りました:
error: extra qualification 'Matrix2x2::' on member 'operator+='
ヘッダーファイルと
error: expected unqualified-id before '[' token|
この行で:
this->anArray.[i][n] += rhs.anArray[i][n];
UPDATE2
ヘッダーファイルでのクラス宣言、メインファイルでの呼び出し、およびcppファイルでの関数定義を示しました。他に何を表示しますか?私は現在、あなたが指摘したことをすべて修正しましたが、それでも同じエラーの1つが発生します。
error: extra qualification 'Matrix2x2::' on member 'operator+=
cppおよびヘッダーファイル内。