Я изучаю, как работать с векторами в классе C++. Я столкнулся с проблемой, которая мешала мне использовать итераторы с векторами. Это мой исходный код:Как я могу увеличить векторный итератор?
template <class T>
void HuffMan<T>::search_freq(T temp) {
//checks for frequency
if(objects.empty()){
objects.push_back(temp);
return;
}
vector<T>::iterator it = objects.begin();
while(it != objects.end()) {
if(*it == temp)
cout<<"added aready\n";
else
objects.push_back(temp);
//this is where the error occurs
//I cannot call 'it++' for some reason
it++;
}
}
Этот код всегда возвращает ошибку во время выполнения программы, которая говорит "вектор итератор не incrementable. Я попытался изменить цикл while в цикл for, но я не думаю, что это связано с ошибкой.
Информация: Мой вектор объект объявлен следующим образом:
vector<T> objects;
Может кто-нибудь помочь мне точку штырьковой этой ошибки?
Спасибо, Y_Y
ли цикл, а содержащийся внутри метода Хаффмана класса ''? –