Bonjour,
Dans ce prototype,
Je ne comprends pas la syntaxe de l'argument void *(*start_routine) (void *)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
Cet argument muet est de type void *. Le nom de l'argument (*start_routine) (void *) n'a aucune importance, est purement indicatif et c'est lui que je ne comprends pas.
(start_routine *) (void *) aurait pour moi signifier un cast d'un argument void * en *start_routine.
Mais le fait d'avoir (*start_routine), soit * en premier est une forme que je n'ai jamais rencontré pour un cast de pointeur de forme générique (type *). Est-ce que (* type) serait équivalent à (type *) ?
Bref c'est très étrange pour moi. Merci pour vos lumière.
Partager