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++ Discussion :

Pointeur sur m�thode + erreur C2064


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par d�faut Pointeur sur m�thode + erreur C2064
    Bonjour,

    J'ai un probl�me concernant un pointeur sur m�thode que je r�cup�re � l'aide d'un vecteur de pair :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    std::vector<std::pair<ZenZiAPI::IModule::p_callback,ZenZiAPI::hookPosition>>	_VModules;
    Mon pointeur est de la forme suivante :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    typedef bool (ZenZiAPI::IModule::*p_callback)(ITools&);
    Il � �t� d�finis dans la pair de a mani�re suivante :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    	this->_LPHook = std::make_pair(static_cast<ZenZiAPI::IModule::p_callback>(&ModulePHP::GetPHP), ZenZiAPI::MIDDLE);
    Il pointe sur cette m�thode dans une DLL:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    bool	ModulePHP::GetPHP(ZenZiAPI::ITools &_EOTools)
    Lorsque je veux l'exploiter dans la classe appelant ma DLL et r�cup�rant ce pointeur voici le code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    Tools	*T = new Tools();
    ZenZiAPI::IModule::p_callback test = this->_VModules.begin()->first;
    			/* PROBLEME ICI */
    (test)((*static_cast<ZenZiAPI::ITools*>(T)));
    voici l'erreur :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    Error	1	error C2064: term does not evaluate to a function taking 1 arguments
    Sauriez vous d'o� vient l'erreur ?

    Merci par avance

  2. #2
    Membre �prouv�
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 825
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 825
    Par d�faut
    p_callback pointe vers une fonction membre de IModule.

    Par cons�quent, il faut que tu l'appliques � un objet IModule.

    C'est comme si tu faisais
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    Fonction()
    //Au lieu de :
    obj.Fonction()

  3. #3
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par d�faut
    Merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. pointeurs sur m�thode
    Par didierBB dans le forum C++
    R�ponses: 10
    Dernier message: 06/10/2012, 18h08
  2. Pointeur sur m�thode + h�ritage
    Par Bleastou dans le forum C++
    R�ponses: 20
    Dernier message: 22/09/2008, 14h54
  3. Pointeur sur m�thode membre
    Par FunkyTech dans le forum C++
    R�ponses: 10
    Dernier message: 13/05/2008, 10h02
  4. Pointeur de fonctions sur m�thode
    Par Glosialabolas dans le forum C++
    R�ponses: 9
    Dernier message: 04/12/2005, 14h55
  5. erreur C2664 : pointeur sur fonction
    Par hiko-seijuro dans le forum C++
    R�ponses: 2
    Dernier message: 26/07/2005, 14h50

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