Bonjour,
J'ai rencontr� cette fameuse erreur en manipulant un vecteur dans mon code... et l� chose �tonnante c'est que je n'ai pas manipul� explicitement la m�moire avec un free ou avec un destructeur etc... d'une mani�re incorrecte, et pourtant ce sont les principales causes pour cette erreur si j'ai bien suivi.
Voici mon code :
L'objectif ici est de stocker tous les objets de type CDart dans un vecteur en utilisant la fonction next de la classe CDart. (Dans la pratique ces objets sont li�s entre eux par une liste chain�e). A la fin je r�ajoute l'�l�ment de d�but (�a m'est utile par la suite, car j'y ajouterai plusieurs listes chain�es cons�cutives et la r�p�tition de cet �l�ment me servira de point de rep�re dans mon vecteur).
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 vector<CDart> fonction(CDart* d){ vector<CDart> vect; CDart* dartCourante = d; vect.push_back(*dartCourante); do{ vect.push_back(*dartCourante); dartCourante = dartCourante->next(); }while(isEqual(dartCourante->next(), d->next() == false); vect.push_back(*d); return vect; }
Apr�s des tests pour voir ce qui pose probl�me, je m'aper�ois que c'est l'ultime ajout dans le vecteur qui est en d�faut... mais pas syst�matiquement.
Je ne vois vraiment pas en quoi j'ai tripatouill� la m�moire de mani�re incorrecte... quelqu'un peut m'aider ?
Merci d'avance !
Partager