Il codice che sto usando ha questa dichiarazione:Un asterisco è facoltativo in un puntatore funzione?
typedef void (udp_data_notify)(OS_FIFO * pfifo, WORD port);
Questo appare come una dichiarazione di un puntatore a funzione per udp_data_notify, tuttavia non v'è alcuna *
. Può ancora essere un puntatore a funzione senza asterisco?
Ecco una dichiarazione che utilizza udp_data_notify
:
void RegisterUDPFifoWithNotify(WORD dp, OS_FIFO *pnewfifo , udp_data_notify * nudp)
Qualsiasi aiuto per ciò che sta accadendo sarebbe apprezzato!
Il dereferenziamento di un puntatore di funzione potrebbe tecnicamente produrre il primo byte della prima istruzione di codice macchina della funzione. La grande domanda è cosa vorresti fare con quello in modo portatile. –
possibile duplicato di [Che cosa significa un typedef con parentesi come "typedef int (f) (void)" significa? È un prototipo di funzione?] (http://stackoverflow.com/questions/3674200/what-does-a-typedef-with-parenthes-like-typedef-int-fvoid-mean-is-it-a) –