Почему start_routine для pthread_create возвращает void * и принимает void *
Заголовок функции дляpthread_create
выглядит так:
int pthread_create(pthread_t * thread,
const pthread_attr_t * attr,
void * (*start_routine)(void *),
void *arg);
Я все это понимаю, за исключением того, что указатель на функцию дляstart_routine
имеет формуvoid* (*fpointer) (void*)
а это значит, что требуется впустой указатель и возвращаетпустой указатель
Требуемый указатель void - это просто способ передать аргумент в start_routine, я получаю эту часть, но я нене понимаю, почему функция возвращает пустой указатель? Какой код даже заметит этот пустой указатель?