error: invalid conversion from `void (*)(char*)' to `void*'
-
hi,
ich bekomme den fehler
error: invalid conversion from `void ()(char)' to `void*'
wenn ich versuche, die funktion set_item_userptr aus der ncurses zu benutzen. folgender code:
set_item_userptr(my_items[i], func); void func(char *name) { sleep(1); }
Ich habe aber in mehreren beispielen gesehen, das es so funktionieren soll
Ich übersetze das Programm mit -lncurses und -lmenü auf Debian mit dem gcc 3.3.
any hints??
mfg
mauser
-
Das scheint ein historischer Designfehler in ncurses zu sein. Wahrscheinlich ging es früher mal, dass Funktionspointer in void* konvertiert werden -- das ist aber heutzutage nicht mehr erlaubt. Naja, dann musst du eben selbst Hand anlegen und func selbst nach void* casten.
-
hi,
danke für deine hilfe, mit dem entsprechenden cast geht es wunderbar.hatte ganz vergessen das man funktionen bzw. ihre rückgabewerte auch casten kann.
mfg
Mauser