Petite question très conne, mais sur laquelle je bute depuis déjà un peu de temps...
Voilà, j'ai une première fonction qui prend en argument une fonction f et un pointeur quelconque.
void function_stub(void *(*f) (void*), void *arg)Je veux créer un nouveau contexte et lui donner cette function_stub comme argument.
void makecontext(ucontext_t *ucp, void *func(), int argc, ...); makecontext(& context, function_stub, 2, f, arg );Ça crée bien un nouveau contexte, qui va lancer function_stub et lui donner f et arg comme arguments. Tout fonctionne parfaitement, mais j'ai un vilain warning à la compilation.
warning: passing argument 2 of ‘makecontext’ from incompatible pointer typeEt je n'aime pas les warnings

J'ai essayé de faire un
makecontext(& context, (void *) &function_stub, 2, f, arg );mais il râle encore...

Si j'ai bien compris, c'est parce que le C ne veut pas (le vilain !) qu'on transforme un pointeur de fonction en un pointeur classique (s'il insiste... ).. mais quelle est la façon propre de faire ça ?