Salut,
J'ai un pointeur tout bete et a un moment je fait un new dessus ...
Puis je fait des delete pour faire de nouveau des new, mais voila je me prend un seg fault in ze face.
En scrutant un peu et en virant les delete ca marche donc je pige pas trop ...
La declaration :
Code :
- /** ... */
- Sort<int> *sort;
- vector<int> *vect;
- /** Dans le constructeur je les initialise avec new ... */
|
La liberation avec le delete :
Code :
- void MainFrame::OnSortsSelection(wxCommandEvent &event)
- {
- if (! m_timer.IsRunning() ){
- events.erase(events.begin(),events.end());
- this->sort->removeObserver(this);
- //delete this->sort; ///////////////////////////// QUAND JE COMMENTE CETTE LIGNE CA PLANTE PLUS
- this->sort = new SelectionSort<int>(); /////////// JE REAFFECTE A NOUVEAU
- this->sort->addObserver(this);
- }
- }
- /** ... puis a un moment donne je fais appel a une methode de l'objet et c'est la que ca plante normalement */
- this->sort->sort(*vect); // sort veut un vector<int> & et ni this->sort ni this->vect ne sont NULL
|
Deja suis a peu pres sur de devoir faire le delete (cad personne va le faire a ma place ... vu que j'ai fait un new)
donc je pige pas du tout le seg fault la ![:heink: :heink:](https://forum-images.hardware.fr/icones/smilies/heink.gif)
Message édité par Chronoklazm le 26-12-2005 à 04:06:52
---------------
Scheme is a programmable programming language ! I heard it through the grapevine !