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