Bonjour, dans ma classe Toto, j'ai la fonction membre suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
int fit(std::vector<double> & c,double w,double (*f)(std::vector<double> & param));
Dans ma classe Tata, j'ai une fonction "model" et une fonction preTrt comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
double model(std::vector<double> & c,double w,double (*f)(std::vector<double> & param));
 
void preTrt(blabla)
{
vector<double> c(4,1.);
double w = 1e-8;
Toto toto;
toto.fit(c,w,model);
}
et là j'ai l'erreur suivante :

Tata::model : function call missing argument list; use '&BIBIMeasureFitting::modebut' to create a pointer to member
et si je fais ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
void preTrt(blabla)
{
vector<double> c(4,1.);
double w = 1e-8;
Toto toto;
toto.fit(c,w,&model);
}
j'ai l'erreur suivante :

Toto::fit : cannot convert parameter 3 from 'double (__thiscall BIBIMeasureFitting::* )(std::vector<_Ty> &)' to 'double (__cdecl *)(std::vector<_Ty> &)'
Savez-vous comment résoudre mon problème de pointeur de fonction ?

Merci d'avance