bonjour,

Je tentes de passer un pointeur sur fonction en paramétre d'une fonction déclaré ainsi:

Fonction recevant en le pointeur sur fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
namespace FLMotis {
  namespace DB{
    bool DB_Create(string path,void (*addMessage)(string& str));
  }
}
Et la fonction pointée ainsi que l'appel de la fonction DB_Create :
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
 
namespace FLMotis{
  public ref class Form1: public System::Windows::Forms::Form {
     [...]
 
     public: void addMessage(std::string& str) {....}
 
     private: System::Void button1_Click(System::Object^ sender,System::EventArgs^ e) {
          [...]
          FLMotis::DB::DB_Create(str, this->addMessage);
          [...]
     }
 
  }
}
Et VC++ me retourne l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
c:\documents and settings\florent\mes documents\visual studio 2005\projects\flmotis\flmotis\Form1.h(227) : error C3867: 
&'FLMotis::Form1::addMessage' : liste d'arguments manquante dans l'appel de
 fonction ; utilisez 'FLMotis::Form1::addMessage' pour créer un pointeur vers
 membre
Là, vraiment, je comprends pas.

Merci pour votre aide les ptit ;
TSalm