1422Fermer1424
FarewellLe 20/05/2010 à 10:50
En C, j'arrive pas à passer un pointeur de fonction en argument d'une autre...

Voici mes déclarations :
int newIcon(ICON* icon, int ID, Sint16 x, Sint16 y, int isEnabled, void (*execOnClick)(struct MODULE_DATA* data),
            const char* spriteEnabled, const char* spriteDisabled, const char* spriteClicked);

void launchScenario(MODULE_DATA* data);

Et l'appel :
newIcon(&data->iconList[i], ICON_LAUNCH_SCEN, 24, 24, ICON_ENABLED, (*launchScenario), "spr/icon_new_scen.bmp", NULL, NULL);

==> warning: passing argument 6 of ‘newIcon’ from incompatible pointer type

Si j'essaye de mettre un void quelque part pour préciser la valeur de retour, ça déconne (invalid use of void), si je spécifie les arguments, c'est pareil...

Une idée ?