Bon, j'ai un autre problème. J'ai aussi une solution, mais elle ne me plait pas.
Ce que je veux faire :
typedef struct
{
void (*f)(int i);
} struct_t;
class A
{
public:
void func (int i);
private:
struct_t s;
};
et dans A.cpp :
A::A ()
{
this->s.f = this->func;
}
Mais ça ne marche pas, avec une erreur très conne :
argument of type 'void (A::)(int)' doesn't match 'void (*)(int)'Bref, il me fait chier pour bête histoire de type, alors que les signatures sont identiques.
Le problème, c'est que je ne peux pas modifier la structure dans mon programme, elle vient d'une lib.
La seule solution que j'ai trouvée, mais qui me fait suer, c'est d'avoir la fonction 'func' externe à la classe, alors que j'ai besoin que ce soit une méthode pour me simplifier l'existence.
Vous voyez un moyen de contourner ça ?