Thread dans constructeur C++

Fermé
gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 - 22 avril 2012 à 13:27
Bonjour,

Voilà de retour pour un problème de thread que je veux lancer à la construction de ma classe sans passage de paramètre de préférence (cette méthode ne marchant pas apparement) mais je me retrouve dans le même cas:
Client.cpp
Client::Client(SOCKET client_sock)
	:csock(client_sock)
	{
	    pthread_t thread;
	    stat_thread = pthread_create(&thread, NULL, proxy_function, this);
	}

	Client::Client(const Client& original)
	:csock(original.csock)
	{
		cout << "Construction" << endl;
	}
	
	void* proxy_function(void* client_ptr){
	    static_cast<Client*>(client_ptr)->fct_client();
	}

	void Client::fct_client(){ 
            //Utilisation de csock
        }

Client.h
class Client{
	private:
		friend void* proxy_function(void* client_ptr);
		int stat_thread;
		SOCKET csock;

	public: 
		Client(SOCKET client_sock);
	
		Client(const Client& original);
			
		void* proxy_function(void* client_ptr);

		void fct_client();
        };


Et les erreurs : /
# gcc -Wall -c Socket.cpp Client.cpp
Client.cpp: In constructor `Client::Client(SOCKET)':
Client.cpp:33: error: argument of type `void* (Client::)(void*)' does not match `void* (*)(void*)'
Client.cpp: In function `void* proxy_function(void*)':
Client.cpp:44: warning: no return statement in function returning non-void


Si on peux m'expliquer le problème : /

Merci d'avance!