Pointeurs vers une fonction

Signaler
Messages postés
117
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
24 avril 2006
-
Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010
-
Bon j'ai le problème suivant....jai un programme avec un autre projet qui est dans une librairie externet qui est un LogWriter...quand je créee mon objet LogWriter je veux lui passé une fonction getLastError par exemple.....alors dans le constructeur de mon LogWriter jai ceci


CLogFile(
const
char
fileName[],
char
* (*getLastError)() = NULL);

et quand je crée mon objet dans une autre classe jai une fonction de ce type
char* getLastError()

et je lui envoi en parametre

CLogFile* Log = new CLogFile("nomfichier", getLastError);

mais j'ai lerreur suivante qui apparait....pk????


error C2664: 'CLogFile::CLogFile(const char [],char *(__cdecl *)(void))' : cannot convert parameter 2 from 'char *(void)' to 'char *(__cdecl *)(void)'

2 réponses

Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
2
Pour info j'ai écris une source pour montrer comment dans une DLL on appel une fonction de l'EXE. Donc je passe en param l'adresse d'une fonction.

@+
Arnotic,
Admin CS, MVP Visual C++
Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

getLastError semble être une fonction membre de la classe. Impossible de la passer en paramêtre de cette façon à moins qu'elle soit statique.