voilà, je vais tenter de bien expliquer mon problème :
j'ai une classe, nommé Fenetre, qui ne plante pas quand je l'utilise (que je vais montrer ici en le simplifiant un peu(beaucoup(même trop, j'imagine))) :
#ifndef FENETRE_MD #define FENETRE_MD
....
usingnamespace std;
class Fenetre { public:
Fenetre();
Fenetre(....);
~Fenetre();
........
private:
.... };
#endif
bon. ensuite, quelque part d'autre, dans une autre classe jai ceci :
or, après quelque minutes de débuggage, j'ai remarqué que le programme plantait directement sur la ligne "m_fen.resize(m_fen.size()+1);" ... je comprend pas, j'ai plusieurs autres "resize" avant et ils marchent 100%, sauf lui...
s'il vous plaît, pouvez-vous m'aider?
Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
Ton probleme vient surement des "...." dont tu parles, qui te semblent insignifiants mais...
Si tu as un débordement, a un moment ou un autre, au niveau de m_fen, alors il est tres possible qu'un resize ( <=> un new + un delete finalement) crache.
hmm.. pourtant, je n'ai aucunement touché à m_fen avant la ligne qui crash (qui n'est pas dans une boucle ou quoi que ce soit d'équivalent; d'ailleur, j'utilise un semblant du même code pour d'autre classe, et ça marche bien...)
je vais faire un peu de recherche, tant qu'à ne pas trop savoir quoi faire...
Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
Il faut dupliquer les resources brutes gérées par la classe dans le constructeur de copie et l'opérateur d'affectation.
Sinon risque de double libération d'une même ressource dans le destructeur. cf le tuto qui ne parle que de ça.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html