I let gcc
compile the following example using -Wall -pedantic
:
#include <stdio.h>
int main(void)
{
printf("main: %p
", main); /* line 5 */
printf("main: %p
", (void*) main); /* line 6 */
return 0;
}
I get:
main.c:5: warning: format ‘%p’ expects type ‘void *’, but argument 2 has type ‘int (*)()’
main.c:6: warning: ISO C forbids conversion of function pointer to object pointer type
Line 5 made my change the code like in line 6.
What am I missing to remove the warning when printing a function's address?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…