Problème Functor + Numerical Recipes
Bonjour,
dans le cadre de ma thèse, je doit utiliser les fonctions présentes dans Numerical Recipes pour optimiser différentes choses.
J'ai des objets qui calculent le coût pour mes méthodes d'optimisation, et donc pour voir passer ces objets à Numerical Recipes, j'utilise un functor (je précise que c'est une première pour moi...)
J'ai donc créé une classe functor
Code:
1 2 3 4 5 6 7
|
class functor
{
......
public :
DP operator()(const Vec_I_DP &) { ...}
} |
Sachant que la méthode d'optimisation attend une fonction du type
Code:
1 2
|
DP function(const Vec_I_DP &) |
Dans mon code, au moment d'appeler la méthode je fais ceci :
Code:
1 2 3
|
....
functor * l_p_functor = maFrabriqueDeFunctor.getFunctor(); |
J'ai essayé plusieurs manières pour passer ma méthode en arguement :
powell(......,(*l_p_functor)()) => erreur par le compilateur, qui me dit que la classe n'a pas de méthode operator() donc j'essaie avec :
powell(......,(*l_p_functor)(const Vec_I_DP &)) => et là il me sort une erreur de syntaxe...
Comment je fais pour passer le pointeur d'une fonction avec des arguments ???
Merci beaucoup à tous ceux qui prendront le temps de lire ce message