delete sur une classe predeclarer
Salut tout le monde,
pour résoudre un problème de référence croisée j'ai dû faire une pré déclaration. Quand je fait un delete de la classe pré déclarer dans le destructeur j'obtiens un segmentation fault.
Code:
1 2 3 4 5 6 7 8 9
|
class A;
class B
{
A *t;
B(){ t = new A();}
~B(){ delete t;} //segmentation fault à l'execution
} |
même chose avec
Je voudrais comprendre ce qui se passe, pourquoi le delete ne fonction pas. ça me parait bizard :D
delete sur une classe predeclarer
Citation:
Envoyé par
Cheps
Est-ce que ta classe A détruit un élément de type B dans son destructeur?
non, nul part je ne fait ça.
J'ai exécute le code avec la partie à problème en commentaire, j'ai eu droit au segmentation fault des fois et souvent rien, je me dis donc qu'il s'agit d'un problème de fuite de mémoire.
si quelqu'un peu me dire comment pister une fuite de mémoire avec code block, avec ça j'arriverais sans doute à résoudre mon problème. merci :D
delete sur une classe predeclarer
merci pour Valgrind, je m'en vais voir à quoi il ressemble. :D