Je sais bien que mon code n'est pas exhaustif. Mais je peux pas vous donnez tous le code, il est trop long et inutile pour mon problème.
Pour essayer d'être plus précis, imaginez une liste chainée d'instance d'une class A.
Le class B possède un pointeur sur l'une des extrémités de la liste chainée.
Ainsi B peut utiliser la liste chainée.
Mais toutes les instances de A ont été créées avec
new (à part la première).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
class A
{
A * Pointeur_Sur_Parent;
};
class B
{
// Définition :
A *Pointeur_Sur_Tete;
A Depart; //relation HAS_A
//Constructeur :
B () :Depart
{
Pointeur_Sur_Tete=&Depart;
} |
Et mon problème est que qhand j'ai finit d'utiliser ma liste chainée je veux desallouer le mémoire dediée à ma liste. Or je n'y arrive pas, le programme plante à l'appel de
delete et entre dans une boucle infine :bug:
Donc ma question est : Comment désallouer la liste?