fonction template et arguments variables - C++ - Programmation
MarshPosté le 24-12-2006 à 17:55:40
Bonjour,
j'ai besoin de faire une fonction qui prends en argument une autre fonction qui doit avoir une interface donnee
un 1er moyen d'y arrive est d'utiliser une fonction template :
Code :
template <class F>
void DoSomeStuffs(F f)
{
f(x, y);
}
l'appel de la fonction donne l'interface a respecter par ex ici : void f(X x, Y &y), j'entend par la x=entree, y=sortie
ma question comment faire si l'utilisateur a besoin d'arguments additionnelle pour calculer y a partir de x : ex : void f(X x, Y &y, Z z, ...etc)
il y a biensure les solutions : - utiliser des variables globales - utiliser les va_arg du C - demander a l'utilisateur de derivee une classe depuis une classe de base qui a une methode virtuelle pure f(x,y) - utiliser les boost.bind
Marsh Posté le 24-12-2006 à 17:55:40
Bonjour,
j'ai besoin de faire une fonction qui prends en argument une autre fonction qui doit avoir une interface donnee
un 1er moyen d'y arrive est d'utiliser une fonction template :
l'appel de la fonction donne l'interface a respecter
par ex ici : void f(X x, Y &y), j'entend par la x=entree, y=sortie
ma question comment faire si l'utilisateur a besoin d'arguments additionnelle pour calculer y a partir de x :
ex : void f(X x, Y &y, Z z, ...etc)
il y a biensure les solutions :
- utiliser des variables globales
- utiliser les va_arg du C
- demander a l'utilisateur de derivee une classe depuis une classe de base qui a une methode virtuelle pure f(x,y)
- utiliser les boost.bind
quel est la methode "classique" ?