Erreur de segmentation

Erreur de segmentation - C++ - Programmation

Marsh Posté le 21-02-2005 à 19:17:31    

Bonjour,
 
J'ai fait un programme wxwidget et sur windows je n'ait pas de problème mais sur linux j'ai: "erreur de segmentation". A quoi est dû une erreur de segmentation ?
 
Apparament c'est cette fonction récursive qui fait planter mon programme:
NB: J'ai mis un petit commentaire dans le code pour vous montrer où le programme plante exactement.
 

Code :
  1. void ajout_composant(wxString classes, wxString copy_ss, int start_pos, int end_pos, wxTreeItemId siz_prin){
  2.   vector<wxString> vect_s;
  3.   vect_s = comp.search_pro_fct(classes, copy_ss, "Add", 0);
  4.   for(int unsigned m=0;m<vect_s.size();m++){
  5.     wxString composant = comp.type_comp(classes, vect_s[m]);
  6.     wxString com_fin = vect_s[m];
  7.     wxTreeItemId comp_siz = tree->AppendItem(siz_prin, com_fin);
  8.     if(composant=="wxBoxSizer" || composant=="wxGridSizer" || composant=="wxFlexGridSizer" || composant=="wxPanel" ){
  9.       //Si cette condition est true, j'ai un erreur de segmentation.
  10.       ajout_composant(classes, vect_s[m], start_pos, end_pos, comp_siz);
  11.     }
  12.     tree->Expand(comp_siz);
  13.   }
  14. }


 
Merci d'avance.

Reply

Marsh Posté le 21-02-2005 à 19:17:31   

Reply

Marsh Posté le 21-02-2005 à 19:41:04    

Ca veut dire que tu tapes pas au bon endroit dans la mémoire (écriture sur un pointeur null ou non alloué, lecture d'une zone interdite, ...)

Reply

Marsh Posté le 21-02-2005 à 20:39:03    

Ici, il y a de bonnes chances que ce soit la ligne tree->Expand qui plante, par exemple si le noeud n'existe pas.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed