Bonjour,
j ai un probleme avec la classe vector de la STL,
je suis en train de developper une Gui en opengl et j utilise la classe vector ,
tout fonctionne plus ou moins bien mais il y a vraiment une chose qui me semble tres etrange et je pense qu' il y a quelque chose qui doit m echapper quelque part :
dans ma gui , j ajoute un certain nombre de controles sliders à un menu comme ceci :
si j utilise la methode add slider j ai le droit a user breakpoint à la fin de l execution de mon programme il y a un probleme apparement au niveau de la desallocation de memoire :
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
26
27
28
29
30 class DLLFUNC VGL_Menu { public: int MouseX,MouseY; public: VGL_Menu(); VGL_Menu(int WindowX,int WindowY); VGL_Menu(Vector2 WindowSize); ~VGL_Menu(); //: ***** encore du code ///// vector <VGL_GUISlider> Sliders; void Add_Slider(VGL_GUISlider Slider_); //: ***** encore du code ///// }; // methode Add_Slider : void DLLFUNC VGL_Menu::Add_Slider(VGL_GUISlider Slider_) { Slider_.pmouseX = &(this->MouseX); Slider_.pmouseY = &(this->MouseY); Sliders.push_back(Slider_); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 HEAP[vbasecode.exe]: Invalid Address specified to RtlFreeHeap( 02AA0000, 029A5330 )
par contre si je fait :
soit le meme code que dans la methode Add_Slider mais a l exterieur de la classe VGL_Menu , la pas de probleme ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // j ai une instance de classe VGL_Menu nommée mMenu mySlider.pmouseX = &(mMenu.MouseX); mySlider.pmouseY = &(mMenu.MouseY); mMenu.Sliders.push_back(mySlider);
Donc si qqun à une idée d ou peut venir le probleme, je me doute bien que j ai du faire une connerie mais ou ??
Merci d avance![]()
salut
Partager