Bonjour,
J'ai une classe de ce type :
class C_ClientServer
{
public:
C_ClientServer(void);
~C_ClientServer(void);
bool StartServerListening(char* Adress, int PORT);
DWORD WINAPI ServerListening(LPVOID param);
private:
HANDLE ListenThread;
DWORD ListenThreadID;
HANDLE hRunMutex;
HANDLE hWriteMutex;
int ThreadNr;
};
bool C_ClientServer::StartServerListening(char *Adress, int PORT)
{
//Truc sans importances [Seting-up de sockets]
CreateThread(0,0,ServerListening,0,0,&ListenThreadID);
return true;
}
et donc quand je veu compiler le compilateur (Visual C++7) me sort un joli message du genre :
error C2440: 'cast de type' : impossible de convertir de 'overloaded-function' en 'LPTHREAD_START_ROUTINE'
Pourtant après un zieutage dans la MSDN, ma fonction est normalement typé pour passer en LPTHREAD_START_ROUTINE. Après quelques essais infructueux (genre réinterpreter cast, :: et this->) je teste la fonction _beginthread qui là aussi ne fonctionne pas bien, (une histoire de __cdecl, pas bien compris :|). Le compilateur a l'option /MTd (débogage Multithread).
Donc voilà si quelqun a une idée pour résoudre ou contourner le problème merci :)