Destruction d'un vecteur de classes - C++ - Programmation
Marsh Posté le 07-08-2013 à 18:57:47
Ton problème est différent. Ce qui se passe là, c'est que tu es allé écrire dans un espace mémoire qui ne t'était pas alloué.
Ca peut être causé par un débordement de tableau, un pointeur non initialisé ou pas mal d'autres choses ...
Marsh Posté le 07-08-2013 à 19:26:59
Donc le pb vient probablement d'un pointeur mal initialisé dans la classe B du type :
Code :
|
ça peut faire un core au moment du destroy...
Marsh Posté le 07-08-2013 à 19:30:16
Merci pour vos réponses rapides je vais voir ça et je vous tiendrai au courant
Marsh Posté le 08-08-2013 à 06:02:49
Oui c'était bien ça , c'était des attributs non initialisés dans le constructeur de la classe B.
Merci beaucoup
Marsh Posté le 07-08-2013 à 18:19:31
Bonjour à tous
J'ai une classe A qui a comme attribut :
std::vector<std::vecteur<B>> nom_attribut;
où B est une classe.
Le problème c'est que qu'on je fais la destruction de la classe A , l'erreur suivante survient:
Windows has triggered a breakpoint in project.exe.
This may be due to a corruption of the heap, which indicates a bug in project.exe or any of the DLLs it has loaded.
This may also be due to the user pressing F12 while project.exe has focus.
The output window may have more diagnostic information
En faisont un debug step by step j'ai vu que l'erreur se situe lors de la destrcution du vecteur <B>.
J'ai lu quelque part , que les instances de la classe B ne sont pas détruites et qu'il fallait faire une boucle avec un delete dedans. Mais je ne sais pas comment m'y prendre , je suis débutante avec le C++.
PS: Je suis sur windows XP et j'utilise visual studio 2010.
Merci beaucoup et bonne journée