Заголовок функции для 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, я получаю эту часть, но я не понимаю, почему функция возвращает указатель void? Какой код даже заметит этот пустой указатель?