Bonjour,

Supposons que je dispose d'une classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
class A{
 
   private :
   void fct1();
   void fct2(std::string);
   int fct3(int,std::string);
 
   public :
   ...
};
Je voudrais avoir, en attribut, une map contenant des pointeurs sur toutes les fonctions membres (qui font des choses totalement différentes les unes des autres).

J'ai essayé le code suivant, mais sans succès :

Code A.h : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
class A{
 
   private :
   std::map<std::string, void (*)()> lesFonctions
   void fct1();
   void fct2(std::string);
   int fct3(int,std::string);
 
   public :
   ...
};

Code A.cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
#include <string>
#include <A.h>
 
using namespace std;
 
A::A(){
   lesFonctions["fct1"]=&fct1();
   lesFonctions["fct2"]=&fct2(string);
   ...   
}

Auriez-vous une solution à me proposer ?