Bonjour,
J'ai un probl�me concernant un pointeur sur m�thode que je r�cup�re � l'aide d'un vecteur de pair :
Mon pointeur est de la forme suivante :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 std::vector<std::pair<ZenZiAPI::IModule::p_callback,ZenZiAPI::hookPosition>> _VModules;
Il � �t� d�finis dans la pair de a mani�re suivante :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 typedef bool (ZenZiAPI::IModule::*p_callback)(ITools&);
Il pointe sur cette m�thode dans une DLL:
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);
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 bool ModulePHP::GetPHP(ZenZiAPI::ITools &_EOTools)
voici l'erreur :
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)));
Sauriez vous d'o� vient 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
Merci par avance
Partager