Why does start_routine for pthread_create return void* and take void*
问题 The function header for pthread_create looks like this: int pthread_create(pthread_t * thread, const pthread_attr_t * attr, void * (*start_routine)(void *), void *arg); I understand it all except that the function pointer for start_routine is of the form void* (*fpointer) (void*) which means it takes in a void pointer and returns a void pointer . The void pointer that it takes is just a way to pass in an argument to the start_routine, I get that part, but I don't understand why the function