[C++] Threads
Posted: 04 May 2006, 16:37
Ik moet voor school een programma maken die werkt met threads. Nou zit ik alleen met een foutmelding die ik gewoon niet thuis kan brengen.
Ik maak een Thread aan, als volgt:
De handle voor de thread heb ik bovenaan gedefinieerd(zo aangeleverd gekregen):
En de functie die ik aanroep(zo aangeleverd gekregen, alleen WINAPI er bij gezet):
Ik krijg dus de volgende error:
error C2664: 'CreateThread' : cannot convert parameter 3 from 'DWORD (LPVOID)' to 'LPTHREAD_START_ROUTINE'
Het lijkt er dus op dat hij deze functie niet als een startpunt voor de thread accepteerd. Gaan we kijken naar een voorbeeld die ik heb gekregen van school:
Zou ik zeggen dat het goed was.
Dus please help
Ik maak een Thread aan, als volgt:
Code: Select all
optelThread=CreateThread(NULL,0,OptelThreadFunc,&getal,0,NULL);
Code: Select all
HANDLE CThreadApp::optelThread = NULL;
Code: Select all
DWORD WINAPI OptelThreadFunc(LPVOID lpParam)
{
return 0;
}
error C2664: 'CreateThread' : cannot convert parameter 3 from 'DWORD (LPVOID)' to 'LPTHREAD_START_ROUTINE'
Het lijkt er dus op dat hij deze functie niet als een startpunt voor de thread accepteerd. Gaan we kijken naar een voorbeeld die ik heb gekregen van school:
Code: Select all
#include <windows>
#include <conio>
#include <iostream>
DWORD WINAPI MyThreadFunc( LPVOID getal )
{
cout << *(int*)getal <<endl ;
//parse de voidpointer naar een intpointer
return 0;
}
VOID main( )
{
HANDLE hThread;
int i= 9;
hThread = CreateThread(NULL,0,MyThreadFunc,&i,0,NULL);
WaitForSingleObject(hThread, INFINITE ); //wacht tot de thread klaar is
CloseHandle( hThread );
getch();
}
Dus please help