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 :)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 16 juil. 2003 à 15:27
Et oui le compilo a raison. Si ta fonction a une declaration de portee(classe) elle doit etre declaree statique pour que le compilo connaisse son adresse une fois pour toutes.
Ce n'est pas fini:
1) doit retourner DWORD.
2) __stdcall doit etre sa forme d'appel.
Ce sera tout si je n'oublie rien.
BruNews, ciao...