CSクラスのテンプレートとオーバーロードされた演算子の使用法を示すプログラムを作成しようとしています。関連するコードは次のとおりです。
主要:
ArrayTemplate<int> number(0);
number[0] = 1;
number[1] = 2;
number[2] = 3;
ArrayTemplate<string> word("na");
word[0] = "One";
word[1] = "Two";
word[2] = "Three";
ヘッダ:
template<class T>
T& operator [](const int index)
{
if(index >= 0 && index < ARRAY_MAX_SIZE)
return items[index];
else
{
cerr << "INDEX OUT OF BOUNDS!!!";
exit(1);
}
}
問題は、オーバーロードされた添え字演算子を使用しようとすると、タイトルに示されているエラーメッセージが表示されることです。「そのような演算子「[]」はこれらのオペランドに一致しません」理由は正確にはわかりません。それは私の整数配列と私の文字列配列の両方に対してそれを行います。どんな助けでも大歓迎です。