Bonjours
Je ne parviens pas a trouver la bonne syntaxe : &cPthread::affichage() devrai convenir mai le compilateur ne l'entend pas de cette oreille .
Merci d'avance
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 /* message d'erreur: */ cPthread.cpp: In member function ‘void cPthread::Start_Thread_1()’: cPthread.cpp:29: error: no matching function for call to ‘cPthread::lire()’ cPthread.cpp:13: note: candidates are: void* cPthread::lire(void*) cPthread.cpp: In member function ‘void cPthread::Start_Thread_2()’: cPthread.cpp:37: error: no matching function for call to ‘cPthread::affichage()’ cPthread.cpp:3: note: candidates are: void* cPthread::affichage(void*) /*Le cpp*/ #include "cPthread.hpp" void* cPthread::affichage (void *){ std::cout << "Entree Thread lire" << std::endl; int L = 0; while (50 != L) { std::cout << "Thread lire" << std::endl; sleep (1); L++; } return NULL; } void* cPthread::lire (void *){ std::cout << "Entree Thread affiche" << std::endl; int L = 0; while (80 != L) { std::cout << "Thread affiche" << std::endl; sleep (1); L++; } return NULL; } void cPthread::Start_Thread_1 (){ pthread_attr_t attr; pthread_t thread; pthread_attr_init (&attr); pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); pthread_create (&thread, &attr, &cPthread::lire(), NULL); pthread_attr_destroy (&attr); } void cPthread::Start_Thread_2 (){ pthread_attr_t attr; pthread_t thread; pthread_attr_init (&attr); pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); pthread_create (&thread, &attr, &cPthread::affichage(), NULL); pthread_attr_destroy (&attr); } /*le *-hpp*/ #ifndef DEF_ME__PTHREAD #define DEF_ME__PTHREAD #include <iostream> #include <stdio.h> #include <stdlib.h> class cPthread{ public: cPthread (){}; void Start_Thread_1 (); void Start_Thread_2 (); private: void* affichage (void *); void* lire (void *); }; #endif
Partager