Bonjour à tous,
mon problème doit être, je pense, assez simple, mais étant donné que je débute en c++/STL, je n'arrive pas à le résoudre.
J'ai quelquechose comme ceci :
la classe "objet" est composée d'un int et d'un bool.
dans une autre classe "objet_sys", j'ai (entre autre) ceci :
et une méthode qui passe le booléen à true
Code : Sélectionner tout - Visualiser dans une fenêtre à part std::vector<objet*> vect;
cepandant, j'aimerai pouvoir effectuer cette opération sur tous mes objets
Code : Sélectionner tout - Visualiser dans une fenêtre à part void objet::initialize() { init = true ; }
c'est justement la fonction qui ne marche pas
mes objets sont insérés dans le vector de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void objet_sys::init_all_obj() { for( std::vector<objet*>::iterator p = vect.begin() ; p != vect.end() ; p++) (*p)->initialize() // plante à cet instant }
A noter que je n'ai aucune erreur de compliation, même pas un warning. je travaile sous wxDev-cpp. En fait, j'ai ici juste abstrait le foctionnement de programme que je réalise. Ceci s'applique à un vecteur de sommets.
Code : Sélectionner tout - Visualiser dans une fenêtre à part vect.push_back(new objet(..., ...));
Est ce que quelqu'un pourrait me dire ce que je fais mal ou que j'oublie de faire ?
Partager