Bonjour,
J'utilise une méthode d'une classe issue d'une librairie c++, qui prend un pointeur vers une fonction en argument :
typedef void (*fptr)(Type1&, Type2&);
Class A
{
void methode1(fptr toto);
...
}
sachant que methode 1 stocke le pointeur fptr dans un vecteur, et l'utilise plus tard dans plusieurs autres méthodes.
Je souhaite générer une famille de fonctions dans une boucle:
f(Type1& var1, Type2&var2, int i), j'ai donc créé une classe
class B
{
int param;
void f_B(Type1& var1, Type2& var2);
}
int main
{
A A1;
for(int i=1;i<N;i++){
void (B::*fBPtr)(Type1&, Type2&);
fBPtr = &B::f_B;
B B1(i);
A1.methode1((B1.*fBPtr));
}
J'obtiens l'erreur suivante :
error: invalid use of non-static member function
Quelqu'un peut-il m'aider ou me proposer une autre méthode pour parvenir à mes fins ?