Pourquoi ne start_routine pour pthread_create de retour void*, et de prendre void*

- Tête de la fonction pour pthread_create ressemble à ceci:

int pthread_create(pthread_t * thread, 
                   const pthread_attr_t * attr,
                   void * (*start_routine)(void *), 
                   void *arg);

Je comprends tout, sauf que le pointeur de fonction pour start_routine est de la forme void* (*fpointer) (void*) ce qui signifie qu'il prend dans un pointeur void et renvoie un pointeur void.

Le vide pointeur qu'il prend est juste un moyen de passer en argument à la start_routine, je reçois cette partie, mais je ne comprends pas pourquoi la fonction renvoie un pointeur void? Ce code sera le même avis que le vide pointeur?

InformationsquelleAutor ldog | 2009-08-29