Bonjour,
Ca fait un certain temps que j'utilise les vector mais là, je suis face à une incompréhension total.
J'utilise une classe GLignage qui est défini suivant les règles simples des 4 (constructeur,destructeur,recopie, op=). Ca fait 1 semaine que je créé, détruit, copie des objets de cet classe et tout semble rouler pour le mieux.
Récemment, je décide de rajouter une petite méthode...voici le code (enfin le seul point qui "bug" ...) :
Bon alors c'est un code con, je veux juste faire le push_back(*this) mais j'ai testé plein de détail pour être sûr que ça vient du vector. Après plusieurs heures d'analyse des variables avec mon debuggeur (sous eclipse avec les options classique C++...), j'en suis à ça : le vector passé en référence a tout ses conteneurs (_M_start, _M_finish, _M_end_of_storage) sur 0x00000000 (donc le NULL)... ce qui cause un soucis visiblement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 bool GLignage::soudure(vector<GLignage>& amas) { if(amas.size()==0) { GLignage glig=*this; GLignage glig2=glig; amas.clear(); amas.push_back(glig); amas.push_back(GLignage(glig.transseg,glig.lignage)); return 1; } }
qq1 a-t-il déjà rencontré ça? Comment passé à travers?
Merci d'avance.
Partager