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
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é.
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; }
autre point je n'ai peux pas utiliser la std.
Merci
Partager