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

Fermé
Bleast Messages postés 34 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 5 janvier 2009 - 20 sept. 2008 à 23:15
 Spouwny - 3 oct. 2008 à 19:54
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

1 réponse

Bleast Messages postés 34 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 5 janvier 2009 15
21 sept. 2008 à 16:28
personne ?
-1
Le type de ta callback devrait etre un ITools& comme dans ton typedef :)
0