Bonjour a tous,
voila en fait je suis en train de développer un projet dans lequel j'aurrais besoin de déclarer un pointeur vers une fonction dont je ne connais pas à l'avance le nombre de paramètres.
Ainsi je commence par déclarer un type comme ceci:
typedef void (*TFunct)(...);
Ensuite je déclarer une structure me permettant d'ajouter en fait une fonction et de connaitre son nombre de parametre:
1 2 3 4 5 6 7
| struct Type
{
string nom; // identificateur
int nArg; // nombre d'argument
TFunct fct; // adresse de la fonction
}; |
ensuite j'ai une fonction quelques part par exemple:
void Essai( void ) { cout << "Essai" << endl; }
et je fais ensuite:
1 2 3 4
| Type te;
te.nom = "essai";
te.nArg = 0;
te.fct = Essai; |
mais la le compilateur me dit que je fais une convertion invalide... je ne sais pas trop comment faire pour faire pointer mon pointeur vers la fonction... mon principale probleme est que je ne doit pas avoir tres bien compris comment fonctionne les pointeurs de fonctions...
Je vous demande donc votre aide.
Merci par avance.
Partager