Problème avec vector par référence
Alors j'ai une classe MyFrame dans laquelle j'aimerais faire.
Code:
1 2 3 4 5 6 7 8
|
std::vector<MG_NOEUD*> coord;
for (unsigned int j = 0 ; j < mai->get_nb_mg_noeud() ; j++) {
MG_NOEUD* no = new MG_NOEUD(*mai->get_mg_noeud(j));
coord.push_back(no);
}
m_glCanvas->PushNoeuds(coord); // m_glCanvas == Objet GL_MAILLAGE
coord.clear(); |
Code:
1 2 3 4 5
|
void GL_MAILLAGE::PushNoeuds(const std::vector<MG_NOEUD*> &noeuds)
{
coord_noeuds.push_back(noeuds);
} |
Cependant le programme plante à l'exécution donc je crois que je fais quelque chose de pas correcte avec les références :(
Pourtant: je le passe par référence et le push_back fait une copie donc ca devrait être correct non!?
Ca marchait avant car ma classe était friend et je faisais
Code:
1 2
|
m_glCanvas->coord_noeuds.push_back(coord); |
Mais j'aimerais me débarasser de ce friend.