How to print pointer to function?

Liu Hao
Thu Dec 12 09:49:00 GMT 2019

在 2019/12/12 17:21, Josef Wolf 写道:
> Hello,
> I would like to print the pointer to a function for debugging purposes.
> But I keep getting a warning:
>   ttt.c: In function 'insert_transfer':
>   ttt.c:7:37: warning: ISO C forbids conversion of function pointer to object pointer type [-Wpedantic]
>       7 |     printf ("lost transfer %p\r\n", (void*)rdyfunc);
> Is there any way to get rid of this warning?

Casting the point-to-function to `intptr_t` followed by `void*` will
silence the warning:

printf ("lost transfer %p\r\n", (void*)(intptr_t)rdyfunc);

This may also help if you attempt to cast between different types of
function pointers.

Best regards,

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the Gcc-help mailing list