stlのベクトルクラスから算術ベクトルというクラスを継承したいです。私の問題は、角括弧のオーバーロードにあります。コードは次のとおりです。
template<class type>
type& ArithmeticVector<type>::operator[](int index) const{
if(this->size()<=index || index < 0){
throw string("Size Error!");
}else{
return vector<type>::operator[](index);
}
}
エラーが発生します:
int
型への参照を型の値にバインドすると、const int
修飾子が削除されます。
行で:
return vector<type>::operator[](index);
どうすれば修正できますか?