Я использую этот ресурс, чтобы помочь мне с указателями функций: здесь Но в этом коде (написанном ниже), компиляция на gcc говорит:
line 15: warning: dereferencing 'void*' pointer
line15:error:called object *foo is not a function
Код здесь:
#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>
void print_mess(void *ptr)
{
char *message = ptr;
printf("%s\n",message);
}
void main()
{
void* foo = print_mess;
char *mess = "Hello World";
(*foo)((void*)mess);
}
Очень простая тестовая функция, чтобы освежить мои знания, и мне стыдно даже столкнуться с такой проблемой, не говоря уже о том, чтобы опубликовать ее на SO.