template <class T>
class Planer{
T array;
int max_stavki;
int broj_stavki;
public:
Planer()
{
max_stavki = 100;
array = new T[max_stavki];
broj_stavki = 0;
}
~Planer()
{
delete[] array;
}
void add(T& x){
if (broj_stavki==max_stavki){
throw NO_SPACE();
}
else{
array[broj_stavki] = x; // here i get error
broj_stavki++;
}
}
};
このクラスのオブジェクトの配列を作成する必要があります。クラスの演算子[]をオーバーロードするので、テンプレートクラスの配列からオブジェクトを返すことができます
class Ispit{
char* naziv;
int sifra = -0001;
char* datum;
int vreme;
};
しかし、私はこのエラーがポップアップ表示テンプレートクラスからの追加機能を使用したい:
エラーC2676バイナリ「[」:「Ispitは」は、この演算子または型への変換を定義していません。定義済みのオペレータに受け入れられる
私はテンプレートクラスでこれを試しました。しかし、エラーはまだそこにあります。
Planer<T>& operator [] (int x){
return array[x];
};
私はクラスIspitでも演算子[]をオーバーロードする必要があると思いますが、どうすればよいか分かりません。
よろしくお願いします。
「niz」とは何ですか?あなたは[最小限の、完全で、証明可能な例](http://stackoverflow.com/help/mcve)を作成して私たちを見せてください。 –
申し訳ありませんが悪いです。ニズは私の言葉ではなく配列です。私はそれを忘れてしまった。 – user3579284