pthread mit Klassen Problem
-
hi
Habe folgendes Problem bzw. Frage kann es sein das man nur threads einer Funktion erstellen kann ?
Und nicht mit einer Klasse denn folgendes funktioniert nicht:void *CThreads::helloworld(void *arg) { printf ("HELLO WORLD! "); } void CThreads::newthread() { pthread_t aThread; pthread_create(&aThread, NULL, helloworld, NULL); }
oder ist da irgendwo ein Fehler drin ?
Die Fehlermeldung lautet:
c++ -Wall -c -o src/test.o src/test.c
src/test.c: In member functionvoid* CThreads::helloworld(void*)': src/test.c:33: Warnung: control reaches end of non-void function src/test.c: In member function
void CThreads::newthread()':
src/test.c:57: error: argument of typevoid*(CThreads::)(void*)' does not match
void()(void)'
make: *** [src/test.o] Fehler 1
*MFG
natrium
-
Problem ist, die Memberfunktionen der Klasse müssen mit einem Objekt aufgerufen werden. Das lässt sich dann nicht in eine normal freistehende Funktion konvertieren.