次の例を使用しgcc
てコンパイルします-Wall -pedantic
。
#include <stdio.h>
int main(void)
{
printf("main: %p\n", main); /* line 5 */
printf("main: %p\n", (void*) main); /* line 6 */
return 0;
}
私は得る:
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
5行目で、6行目のようにコードを変更しました。
関数のアドレスを出力するときに警告を削除するために何が欠けていますか?