Bonjour,
J'ai une exception lors de la libération d'un vector de pointeurs.
Le sujet a été plusieurs fois abordés sur ce forum, et dans la faq, et une petite recherche m'a permi de trouver ce sujet (entre autres).
A prioris, j'ai l'impression de faire les choses correctements, mais dans la pratique, ça plante.
Voici une partie de mon code incriminé:
Au debuggeur, c'est une fois les 2 iterateurs nettoyés, et au moment du 're-passage sur la ligne du for' pour sortie, que l'exception a lieu.
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 simulator5ax::toolpath *TheToolPath; // std::vector<simulator5ax::toolpath*> toolpath_array; // for (t_int i = 0; i<VSSimulatorParam.lm_Sim_ToolPath.total; i++){ TheToolPath = new simulator5ax::toolpath(TheTool); //pointeur vers un nouveau ToolPath //SetMoves_To_ToolPath(VSSimulatorParam.lm_Sim_ToolPath.q[i],TheTool,TheToolPath); //Remplissage du ToolPath toolpath_array.push_back(TheToolPath); //le place dans le vecteur } // for (std::vector<simulator5ax::toolpath *>::iterator i = toolpath_array.begin(); i != toolpath_array.end();++i) delete *i; toolpath_array.clear();
Voyez-vous d'où pourrait venir mon problème?Exception $C0000005 ACCESS_VIOLATION at $13451F0D, write of address $39CF5D00 11:03:17:591
Merci d'avance pour votre aide.
Cordialement,
Benjamin
Partager