Illegal call of non-static member function

Signaler
Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006
-
Messages postés
61
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
20 avril 2006
-
Hello all,



J'ai une classe qui comprend une fonction static, jusque là pas de problémes, mais

quand j'esseye d'appeler une fonction de la même classe depuis la
fonction satic j'obtiens cette fameuse erreur : illegal call of
non-static member function.



Si je crée un pointeur de la classe et que j'appelle la fonction depuis
le pointeur, ça marche, mais ce n'est pas pratique car je voudrais
garder des valeurs de variables de la premiére instance de la classe.



donc comment je peux résoudre ce probléme autrement que faire passer des données entre les 2 instances ?



Merci.

6 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Quand tu es dans une méthode statique, il n'y a pas de pointeur this (pas d'instance). Tu n'a peut être pas compris ce qu'est une méthode statique?
Pourquoi ta méthode est-elle statique?
Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006
1
car c'est une méthode callback ! donc obliger qu'elle soit static :(
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Eh oui, mais une fonction statique n'a pas de ptr this, il faut que tu passes un objet à ta fonction
Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006
1
c'est à dire un objet à ma fonction ? tu veux dire faire passer les données entre les instances ?
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Ta méthode statique n'est pas liée à un objet. Si tu veux faire des
opérations sur un objet, tu dois en fournir un quelque par. A partir de
cet objet, tu pourra appeller des méthodes non statiques, ca semble
évident.
Messages postés
61
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
20 avril 2006
1
Et si c'est pas assez clair : http://www.google.fr/search?hl=fr&q=c%2B%2B+fonction+membre+statique&spell=1

ou quelque chose dans le genre devrait faire l'affaire.