Bonsoir
Supposons :
et :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 class Module { protected: typedef bool (Module::*TMessageFct)(const Message& rcMessage); private: typedef std::map<int, TMessageFct> TMapMessageFct; TMapMessageFct m_mapMessages; public: Module() { } virtual ~Module() {} void Connect(int nMsg, TMessageFct pFonction) { m_mapMessages[nMsg] = pFonction; } };
Mon compilateur rale sur le connect, car il trouve que la signature n'est pas bonne. Je peux comprendre, Module::Fonction est différent de MonModule::UnAutreFonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class MonModule : public Module { public: MonModule() { Connect(1, &MonModule::OnMessage1); } void OnMessage1(const Message& rcMessage) { } };
Y a t il une methode pour s'en sortir ? Un vieux caste de la mort est il propre ?
En fait, je pensais que comme il y avait héritage, ca pouvait passer...
--
Jérémie
Partager