Bonjour,
J'aimerais utiliser une fonction ayant comme argument une fonction membre d'une classe.
Vous pouvez trouver un exemple tres simple de ce que je veux faire a la fin du message.
J'arrive a faire fonctionner mon code si je passe comme argument de fonction, une fonction non-membre de ma classe.
Je pense que je dois rater quelque chose et je serais tres heureux si quelqu'un pouvait m'aider.
Merci
#include <iostream>
class SimpleClass {
float x0_;
public :
SimpleClass();
virtual ~SimpleClass(){};
float f(float x){return x+x0_;};
float F(float (*func)(float), float a, float b);
};
float g(float x){return x+1;};
SimpleClass::SimpleClass() : x0_(1) {
float (*func) (float);
//func = f;// ne compile pas
func = g; // compile et fonctionne correctement
std::cout<<F(func,2,4)<<"\n";
}
float SimpleClass::F(float (*func)(float), float a, float b){
return (*func)(a)+(*func)(b);
}
int main (){
SimpleClass ab;
return 0;
}