J'apprends à travailler avec des vecteurs dans ma classe C++. J'ai rencontré un problème qui m'a empêché d'utiliser des itérateurs avec des vecteurs. Ceci est mon code source:Comment puis-je incrémenter un itérateur vectoriel?
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++;
}
}
Ce code renvoie toujours une erreur de temps d'exécution qui dit «vecteur iterator pas incrémentable. J'ai essayé de changer la boucle while dans une boucle for, mais je ne pense pas que cela a quelque chose à voir avec l'erreur.
Info: Mon objet vectoriel est déclaré comme suit:
vector<T> objects;
Quelqu'un peut-il me aider pin point cette erreur?
Merci, ÿ_ÿ
est la boucle while contenu à l'intérieur d'une méthode de la classe '' huffman? –