Erreur de compilation / comment on appelle une methode d'une class? - C++ - Programmation
Marsh Posté le 26-11-2002 à 17:41:58
liste_pts *uneliste = new liste_pts;
uneliste->ajouter(...)
ou
liste_pts uneliste;
uneliste.ajouter(...)
il font donc que de là où on appelle la méthode ajouter on connaisse l'objet de type liste_pts
Marsh Posté le 26-11-2002 à 22:57:58
le methode liste_pts je l'ai defini dans le constructeur de la fonction Fl_Monobjet
Citation : |
si j'appelle ma methode ajouter par liste_pts->ajouter(baba); ou liste_pts.ajouter(baba); ca me donne une parse error
Marsh Posté le 26-11-2002 à 23:01:14
bhen oui, tu ne peux pas appeler la méthode d'une classe, tu dois appeler la méthode de l'instance d'une classe (d'un objet), donc "maliste" et pas "liste_pts"
Marsh Posté le 26-11-2002 à 17:36:13
Bonsoir,
voici a koi ressemble mon code:
class liste_pts {
public:
pt *premier;
liste_pts();
~liste_pts();
void ajouter(pt *);
};
void liste_pts::ajouter(pt *e) {
e->suivant = premier;
premier = e;
}
//definition d'une methode de la classe Fl_monobjet
int Fl_Monobjet::handle(int event) {
pt *baba;
baba = new pt(Fl::event_x(), Fl::event_y());
liste_pts::ajouter(baba);
return Fl_Widget::handle(event);
}
Bon j'ai supprime des lignes qui n'ont a mon avis rien a voir.
Quand je compile ca il me donne une erreur sur la ligne en gras:
cannot call member fonction 'void liste_pts::ajouter(pt*)'
A votre avis qu'est ce qui ne va pas la dedans. C'est l'appelle de la methode liste_pts::ajouter qui n'est pas bonne??
Merci pour votre aide.