Utilisation de la classe List de STL avec wxWidgets
J'ai essayé de retourner le problème dans tous les sens mais je ne comprends toujours pas. J'ai un truc qui compile très bien mais j'ai un segmentation fault et je ne comprends pas pourquoi.
Voici la définition de la classe.
Le problème est lié à la liste pts.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Panel : public wxPanel {
public:
Panel(wxWindow *parent);
void AddPoint(int x, int y);
void OnPaint(wxPaintEvent& event);
void SetTimeRange(int start, int end);
void SetAutomaticTime(bool b);
private:
int tstart, tend;
int min, max;
bool automaticTime;
list<wxPoint *> pts;
void GetMinMax();
wxPoint *Map(wxPoint &pt);
void Drawpoint(wxDC &dc, wxPoint &pt);
DECLARE_EVENT_TABLE()
}; |
et une partie des méthodes associées
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Panel::Panel(wxWindow *parent) : wxPanel(parent), automaticTime(true) {}
void Panel::AddPoint(int x, int y) {
bool refresh = false;
if(pts.empty()) {
min = y;
max = y;
}
...
} |
et j'appelle ceci avec
Code:
1 2
| Panel *panel = new Panel(this);
panel -> AddPoint(0,0); |
Quand je fais ceci, j'ai un segmentation fault à l'appel de pts.empty(). Pourtant, tout est initialisé correctement. Je précise que j'ai essayé avec une liste d'entiers aussi. J'ai essayé d'appeler d'autres fonctions autre que empty() mais c'est pareil.
Si quelqu'un à déjà vu ceci et qu'il a trouvé une solution, merci de me répondre.
Je compile avec wxDev-Cpp sous windows et j'ai essayé avec gcc sous debian mais le problème apparait aussi.
[ Modéré par BigBoomShakala ] - Ajout des balises [code] - Merci d'y penser par la suite