Bonsoir à tous,
Je souhaiterai créer un thread qui recoit en paramètre d'entrée une fonction de callBack qui elle aussi possède un paramètre.
Voici mon code :
Mon problème je pense, c'est que je lui passe deja comme argument le pointeur sur la fonction de callback, mais comment lui ajouter son propre argument (PVOID stat) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 int startProg(int num, PVOID fcCallBack(PVOID stat) { int status = 0; status = pthread_create( &threadOne, NULL, threadPrincipale, PVOID fcCallBack);
voila la fonction threadPrincipale
J'ai un message à ce moment la me disant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 PVOID threadPrincipale( PVOID fcCallBack(PVOID number)) { int * r = number; printf("le numéro maitre vaut %d\n", *r); return null; }
"Erreur "number" non déclaré (première utilisation dans cette fonction)"
et voici mon programme principale avec le callback mentionné:
Je sais que ca fait pas mal d'imbrications, mais elles sont nécéssaires dans le cadre de mon projet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 PVOID callBackNumber(PVOID num) { int * n = num; // ..... return NULL; } int main(void) { int status = 0; status = startProg(0, (PVOID) CallBackNumber); // .....................; return 0; }
Si quelqu'un pouvais me confirmer que c'est possible, je pourrais me débrouiller de mon coté, sinon comment procéder pour contourner mon problème ?
J'espere avoir été assez claire.
En tout cas Merci d'avance pour votre aide.
Partager