Avis aux expert du c++

Signaler
Messages postés
122
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
27 février 2007
-
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
-
Peut on en c++ recuperer un pointer sur une methode.?
Merci a tous et a toute pour vos reponses.

@+

Fred

6 réponses

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
la synthaxe est presque la meme pour la declaration, par contre tu peux déférencer uniquement à partir d'une instance, avec l'operateur .*

struct Foo
{
void bar()
{

}
};

typedef void (Foo::*PtrFooM) ();

int main()
{
Foo f;
PtrFooM p;

p = &Foo::bar;
(f.*p)();
}
Messages postés
122
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
27 février 2007
1
Merci bcp...

As tu une solution, sans explicitement faire apparaitre le "typedef void (Foo::*PtrFooM) ();"

Merci
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
ben

void (Foo::*p) ();

<Type> <nom>; declaration de variable

typedef <Type> <nom>; déclaration d'un alias
Messages postés
122
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
27 février 2007
1
Ca je suis d'accord avec toi...
Mais c'est pas ca ma question, desole mal posee.

En fait ce que je cherche a faire c'est ce que tu fais mais sans avoir declare explicitement le proto de la methode.

Merci

Fred
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
donc demande exactement un pointeur sur fonction anonyme

> param : (...) : les 3 pts sont normalisés pour ça...

++
Magic Nono: l'informagicien! 8-)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
moi je comprends pas trop, j'avais pensé a un truc plus abstrait ?

tu veux faire quoi exactement, tu veux faire voir ecrire quoi ?