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 :
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 namespace FLMotis { namespace DB{ bool DB_Create(string path,void (*addMessage)(string& str)); } }
Et VC++ me retourne l'erreur :
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); [...] } } }
Là, vraiment, je comprends pas.
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
Merci pour votre aide les ptit ;
TSalm
Partager