Bonjour

je gallère sur la libération un tableau d'objet.

j'ai 1 classe mére abstraite avec :
un tableau d'objet
un methode init et unload qui alloue et libére le tableau
et 2 objets derivées qui appel successivement init puis unload

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void Screen::Init(uint8_t NumberOfButton){
	Serial.print("Init CircleScreen");
 
	numberOfButton = NumberOfButton;
	buttons = new RButton*[numberOfButton];
	/*for (int i = 0; i < numberOfButton; i++)
	{
		buttons[i] = new RButton();
	}*/
}
 
 
void Screen::Unload(){
	Serial.println("unload Screen");
	Serial.print("buttons number");Serial.println(numberOfButton);
 
	Serial.println("unload buttons array");
	/*for (int i = 0; i < numberOfButton; i++)
	{
		delete [] buttons[i];
	}*/
	delete [] buttons;
 
	numberOfButton = 0;
}
lors de l'appel sur la methode unload sur le deuxieme objet mon programme s'arrete (dernière trace "unload buttons array") et d'ailleur je n'ai pas l'impression que le destructeur de RButton soit appelé.

autre point je n'ai peux pas utiliser la std.

Merci