Bonjour,

dans une de mes fonctions, j'ai un pointeur de fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
double mafun(int toto,double (*f)(double tata));
Maintenant, je désire que cette fonction "f" puisse recevoir des données utilisateurs. En C, je faisais ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
double mafun(int toto,double (*f)(double tata,void * ud));
et dans le corps de la fonction "f" je faisais un cast sur une structure que je choisissais. Et si je n'avais pas besoin de cet argument, je faisais juste

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
double f(tata,NULL);
En C++, je me dis qu'une bonne solution serait d'utiliser une fonction template, du genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
template<class T>
double (*f)(double tata,const T & ud);
Ma question est la suivante : et si je n'ai pas besoin de données utilisateur, comment dois-je procéder (voir mon exemple plus haut avec le NULL) ?

J'espère avoir été clair...

Merci d'avance