[C++] Pointeur sur méthode + héritage

Bleast Messages postés 34 Statut Membre -  
 Spouwny -
Bonjour,

j'ai une classe mère d'interface comme suit (je ne garde que la partie qui nous intéresse) :

namespace ZenZiAPI
{
class IModule
{
public:
typedef bool (IModule::*p_callback)(ITools&);
}
}

et une classe fille avec 2 méthode comme suit (les méthode sont simplifiées):

bool ModulePHP::GetPHP(Tools &_EOTools)
{
return (true);
}

const std::vector<std::pair<ZenZiAPI::IModule::p_callback, ZenZiAPI::hookPosition>>& ModulePHP::getCallbacks()
{
this->_LPHook.first = static_cast<ZenZiAPI::IModule::p_callback>(&ModulePHP::GetPHP);
}

L'erreur se situe sur la ligne suivante :

static_cast<ZenZiAPI::IModule::p_callback>(&ModulePHP::GetPHP);

Erreur Compilo :

Error 4 error C2440: 'static_cast' : cannot convert from 'bool (__thiscall ModulePHP::* )(Tools &)' to 'ZenZiAPI::IModule::p_callback'

J'ai passer la journée dessus je vois pas comment résoudre ce problème

Est ce que quelqu'un saurait pourquoi ?

merci
--

Ce n'est pas par ce que les choses sont difficile que l'on ose pas, 
c'est par ce que l'on ose pas qu'elle sont difficile.
Configuration: Windows XP
Firefox 3.0.1

1 réponse

Bleast Messages postés 34 Statut Membre 15
 
personne ?
-1
Spouwny
 
Le type de ta callback devrait etre un ITools& comme dans ton typedef :)
0