How to print pointer to function?
Josef Wolf
jw@raven.inka.de
Thu Dec 12 11:00:00 GMT 2019
Thanks for the help, Liu!
This silenced the warning.
On Thu, Dec 12, 2019 at 05:49:17PM +0800, Liu Hao wrote:
> å¨ 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,
> LH_Mouse
>
--
Josef Wolf
jw@raven.inka.de
More information about the Gcc-help
mailing list