Bonjour, je viens de tester vos codes : (kshx2,aGuy) , pour l'allocation ça va mais j'ai la nette impression que pour que la désallocation laisse des fuites de mémoires :
//ALLOUER
tab = new CELL*[HEIGHT]; //Le constructeur de Cell écrit : std::cout<<"appel du constructeur de cell\n";
for(int j=0;j<HEIGHT;j++)
tab[j] = new CELL[WIDTH];
//DESALLOUER
MAP::~MAP()
{
for(int j=0;j<HEIGHT;j++)
delete tab[j]; //Le destructeur de Cell écrit : std::cout<<"appel du constructeur de cell\n";
delete tab;
}
Donc ensuite je j'instancie une map, puis je la supprimme
MAP *map = new MAP(3,3) // 3 et 3 correspondent à HEIGHT et WIDTH
delete map;
Dans la console j'ai bien 9 "appel du constructeur de cell";
Mais je n'ai que 3 "appel du destructeur de cell";
Ce qui me parait normal, vu qu'on ne fait pas delete tab[j][i] mais delete tab[j];
DONC fuite de mémoire !
probleme : delete tab[j][i]; me sort une erreur ! :'(