Bonjour, dans une classe C++, j'ai deux fonction dont l'une prend l'autre en paramètre.
La fonction ParseSimple prend unen paramètre. je lui donne par exemple la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part int (&testchgmtpage)(const char *)
en paramètre de
Code : Sélectionner tout - Visualiser dans une fenêtre à part int MAClasse::detectChgmtPageBB(const char * ligne)
défini par
Code : Sélectionner tout - Visualiser dans une fenêtre à part ParseSimple(pathFile, "BB",(detectChgmtPageSB));
j'ai en cela suivi le tutorial "developpez" http://c.developpez.com/megacours/x2012.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CString MAClasse::ParseSimple(CString pathFile, CString nom, int (&testchgmtpage)(const char *) ) { // code }
Le compilateur me renvoi l'erreur suivante :
j'ai essayé de caster avec ce fameux __cdecl, mais ça génère une erreur de syntaxe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Z:\Affaires\xxxxxxxx\xxxxxxx\xxxx.cpp(137) : error C2664: 'ParseSimple' : cannot convert parameter 3 from 'int (const char *)' to 'int (__cdecl *)(const char *)' None of the functions with this name in scope match the target type
Que puis-je faire ?
Partager