Bonjour, pour m'entrainer avec les pointeurs et classes j'ai fait une classe liste, tout fonctionne très bien jusqu'à la destruction de l'objet liste qui contient un pointeur vers la tête de ma liste. Ce qui me conduis à penser que mon constructeur par recopie et la surcharge de l'opérateur = sont fausse.
voici ce que j'ai fais : le problème est que ca ne marche trop (la surcharge de l'opérateur + contient la même opération, au début je voulais utiliser memcpy mais je ne sais pas trop comment fonctionne la fonction avec ma liste.)
Voici le contenu de la messagebox que m'affiche visual C++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Liste::Liste (const Liste &l) { //avec memcpy : memcpy(this->tete, l.tete, sizeof(Liste)) //avec un parcours manuel, la classe IteratorR permet le déplacement dans la liste chaque élément de la liste l est copié dans la liste de l'objet pointé par this for(IteratorR i(l); i.hasNext(); i.getNext()) this->AjoutEnTete(i.getCurrent()); }
Exception non gérée à 0x00413fa6 dans Liste.exe*: 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0xcccccccc.
Partager