plantage parcours vecteur
Bonjour,
j'ai un problème de platage lors d'un parcour de vecteur. ça ne plante que pour le suivant alors que j'utilise la même logique que pour le précédent. Le message d'erreur est "iterator not dereferencable" lors de l'affichage, je suppose que c'est parce que je sors du vecteur.... Logiquement ça devrait pas vu que je test si l'iterateur est egal à la fin du vecteur.
.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
vector<Perso*>::iterator conteneurp::suivant()
{
if (ipb == dpperso.end())
cout<<"Dernier perso!"<<endl;
else
ipb++;
return ipb;
}
vector<Perso*>::iterator conteneurp::precedent()
{
if (ipb == dpperso.begin())
cout<<"Premier perso!"<<endl;
else
ipb--;
return ipb;
} |
main:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
vector<Perso*>::iterator ipb; //iterator de travail
case '4':
system("cls");
ipb=cont.suivant();
(*ipb)->AfficherPerso();
break;
case '5':
system("cls");
ipb=cont.precedent();
(*ipb)->AfficherPerso();
break; |
Merci d'avance.