Bonjour à tous,
Je travaille sur l'implémentation d'un projet en C++ et j'ai quelques soucis avec les iterateurs de STL (c'est la première fois que je rencontre ce genre de problème). Je l'expose.
J'ai une classe virtuelle pure VirtClass et deux classes qui héritent de VirtClass : Class1 et Class2 !
Ensuite, j'ai un vecteur de pointeur sur VirtClass qui contient les instances des deux classes Class1 et Class2 : vector<VirtClass*> vec;
Lorsque je veux parcourir ce vecteur avec un iterator, impossible : la compilation se passe bien mais à l'exécution, j'ai un message d'erreur de Visual : vector iterators incompatible. Idem avec le const_iterator !
Le pire dans tout ça, c'est que si je passe par une boucle for de i = 0 à vec.size(), ça fonctionne !!!
Je souhaiterai comprendre pourquoi l'iterator ne fonctionne pas.
Je vous remercie par avance.
Partager