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 бинарное «[»: 'испить не определяет этот оператор или преобразование к типу приемлемый для предопределенного оператора
Я пробовал что-то подобное в классе шаблонов. Но ошибка все еще существует.
Planer<T>& operator [] (int x){
return array[x];
};
Я думаю, что мне нужно перегрузить оператор [] в классе Ispit, но я не знаю, как это сделать.
Спасибо, ребята, впереди!
Что такое 'niz'? Можете ли вы создать [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) и показать нам? –
Извини, мой плохой. Niz - массив, но на моем языке. Я забыл перевести это. – user3579284