AfxBeginThread

buschke

Mitglied
Hallo,
ich habe folgendes Problem:
Ich möchte ein Worker_thread starten und bin nach der Beschreibung in der Hilfe vorgegangen.

Habe Die Steuerungsfunktion dekariert durch:

Code:
UINT Uebertrag(LPVOID pParam);

und diese in einer anderen Funktion so aufgerufen

Code:
m_pThread = AfxBeginThread(Uebertrag,&call);

Nun kriege ich diese Fehlermeldung:

error C2665: 'AfxBeginThread' : Durch keine der 2 Ueberladungen kann Parameter 1 vom Typ 'unsigned int (void *)' konvertiert werden

ich weiß nicht wo der Fehler sein soll, denn ich habe mich genau an das gehalten, was die Hilfe vorgibt.
Ich hoffe mir kann jemand helfen

danke
buschke
 
danke, hat sich schon erledigt.
hab die funktion nicht als static deklariert.

in der hilfe steht das allerdings auch nicht drin :mad:


buschke
 
Die muss auch nur dann statisch sein, wenn es eine Member-Funktion einer Klasse ist. Da ist dann ja ein impliziter this-Pointer als zusätzlicher Parameter mit drin.

Ausser man deklariert die Funktion statisch, deshalb klappt das dann auch.
 
Hallo, ich hab bei mir ein ähnliches Problem.

Bei mir kam diese Fehlermeldung auch. Nachdem ich sie dann als static deklariert habe bringt er mir jetz aber folgende Fehlermeldung:
error C2665: 'AfxBeginThread' : Durch keine der 2 Ueberladungen kann Parameter 1 vom Typ 'unsigned int (__thiscall CSoccerServerDlg::*)(void *)' konvertiert werden

woran könnte das liegen
 
Das liegt daran, dass deine übergebene Funktion eine Memberfunktion einer Klasse ist. Deklariere die Funktion statisch (dann gibt es keinen impliziten this-Parameter mehr) oder mach eine Funktion ausserhalb einer Klasse.
 

Neue Beiträge

Zurück