テンプレートを使用して行う必要がある宿題をしています。これはマトリックス クラスです。
の 1 つは、 をオーバーロードするように指示するoperator ()(int r, int c);
ので、 を使用してデータにアクセスしたり、 でデータをobj(a, b);
変更したりできますobj(a, b)=100;
。
私のクラスのテンプレートは次のとおりですtemplate<class T, int C, int R>;
次に、パブリックスコープのクラス内に作成しました:
T& operator()(int r, int c);//LINE 16
実装は簡単です。
私は2つの方法で試しました:
template <class T>
T& Matrix::operator()(int r, int c){
return matrixData[r][c];
}
template <class T, int C, int R>
T& Matrix::operator()(int r, int c){
return matrixData[r][c];
}
最後の1つでは、次のようなエラーが表示されます。
16: Error: expected type-specifier before '(' token
上記の 16 行目にはコメント エラーがあります。
no 'T& Matrix<T, C, R>::operator()(int, int)' member function declared in class 'Matrix<T, C, R>'