Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2740 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Erreur de compilation / comment on appelle une methode d'une class?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur de compilation / comment on appelle une methode d'une class?

n°254175
IvanleFou
Posté le 26-11-2002 à 17:36:13  profilanswer
 

Bonsoir,
 
voici a koi ressemble mon code:

Citation :


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:

Citation :

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. :hello:

mood
Publicité
Posté le 26-11-2002 à 17:36:13  profilanswer
 

n°254179
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-11-2002 à 17:41:58  profilanswer
 

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


Message édité par antp le 26-11-2002 à 17:44:22

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°254616
IvanleFou
Posté le 26-11-2002 à 22:57:58  profilanswer
 

le methode liste_pts je l'ai defini dans le constructeur de la fonction Fl_Monobjet
 

Citation :


class Fl_Monobjet : public Fl_Widget {
  public:
 Fl_Monobjet(int, int, int, int, const char *);
 virtual int handle(int);
 virtual void draw();
 };
 
Fl_Monobjet::Fl_Monobjet(int x, int y, int w, int h, const char *label)  
 : Fl_Widget(x, y, w, h, label) {
 liste_pts *maliste;
 maliste = new liste_pts();

 }


 
si j'appelle ma methode ajouter par liste_pts->ajouter(baba); ou liste_pts.ajouter(baba); ca me donne une parse error

n°254621
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-11-2002 à 23:01:14  profilanswer
 

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"


Message édité par antp le 26-11-2002 à 23:02:01
n°254694
IvanleFou
Posté le 26-11-2002 à 23:32:14  profilanswer
 

donc faut que je mette maliste->ajouter(baba); ?

n°254707
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-11-2002 à 23:47:58  profilanswer
 

oui


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Erreur de compilation / comment on appelle une methode d'une class?

 

Sujets relatifs
Question d'un débutant sur la fct mail(); (j'ai un msg d'erreur)Erreur de compil de débutant ... certainement
[ JavaScript ] Que veut dire cette erreur plz ?C'est quoi la différence entre 'class' et 'public class' ?
compilation de phpcomment utilisé les pointeur dans une class ?
Erreur 500 lors du chargement d'une image [Résolu]prob de compilation fichier objet/non objet
par un debutant-je trouve pas l erreur[java] compilation javac
Plus de sujets relatifs à : Erreur de compilation / comment on appelle une methode d'une class?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR