IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

fct callback avec une methode membre.


Sujet :

C++/CLI

  1. #1
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut fct callback avec une methode membre.
    salut,
    j'ai une fonction de callback pour laquelle je veux passer une methode membre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void EditorScreen::FavInit()
    {
    	FavBar= new FavBar(); // items
    	FavBar->callback(this,EditorScreen::FavShortcutClicked); // enregistre la fonction de callback.
    }
    voici la def de la fct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void EditorScreen::FavShortcutClicked( Uint8 bar, Uint8 slot, Uint8 bank )
    {... }
    et voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void FavBar::callback(EditorScreen* p,  void (EditorScreen::*fct)(Uint8 br, Uint8 sl, Uint8 bk))
    {
    ... }

    voilà j'ai codé ca il y a quelques temps, ca compile et marche tres bien sous VC6 sans le moindre warning...
    je passe sous VS2010, et il me sort une erreur :
    error C3867: &'EditorScreen::FavShortcutClicked' : liste d'arguments manquante dans l'appel de fonction ; utilisez 'EditorScreen::FavShortcutClicked' pour créer un pointeur vers membre
    sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	FavBar->callback(this,EditorScreen::FavShortcutClicked);
    pourquoi s'attends t-il a des parametres, ce n'est que le nom de la fonction...

    si vous avez une idée, merci de me mettre sur une piste.
    salutation.

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    VC6 n'était pas conforme sur les fonctions membre...

    Je ne suis pas 100% certain, mais la bonne syntaxe je crois est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FavBar->callback(this,&EditorScreen::FavShortcutClicked);
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

Discussions similaires

  1. accumlate avec une fonction membre
    Par yan dans le forum SL & STL
    Réponses: 2
    Dernier message: 07/08/2007, 12h09
  2. Réponses: 6
    Dernier message: 02/06/2007, 01h07
  3. probleme avec une methode static dans le body d'une jsp
    Par amadou.deme dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 19/02/2007, 08h47
  4. [POO] Prob avec une méthode de classe
    Par Ludo75 dans le forum Langage
    Réponses: 9
    Dernier message: 06/02/2006, 22h37
  5. Thread avec une fonction membre d'une classe
    Par SteelBox dans le forum Windows
    Réponses: 6
    Dernier message: 01/03/2004, 01h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo