Bonjour, j'ai un problème sans doute pas compliqué à résoudre mais sur lequel je cale depuis un moment.

Dans mon main, je souhaite lancer plusieurs threads d'une classe de la façon suivante :

main.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
...
for(i=0;i<nb_elem;i++)
 {
    if (fee[i]->GetType()=="File_feeder")
	 {
	  DWORD ThreadID;
 	  CreateThread (NULL , NULL, File_feeder::Thread_File,(LPVOID) fee[i]  ,NULL,&ThreadID);
	 } 
 }
avec ma thread déclarée de la façon suivante dans ma classe:
file_feeder.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
class File_feeder : public Feeder
{
   public:
            ...
            DWORD WINAPI Thread_File(LPVOID lpParam)
              {
                /*code*/
                return 0;
              }
 }
Hélas, j'ai une erreur sur le CreateThread que je n'arrive pas à résoudre meme en forcant le param 3 en mettant (LPTHREAD_START_ROUTINE) devant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
error C2664: 'CreateThread' : impossible de convertir le paramètre 3 de 'DWORD (__stdcall File_feeder::* )(LPVOID)' en 'LPTHREAD_START_ROUTINE'
et je ne réussi pas à la résoudre Si un connaisseur en threads a une piste, il est le bienvenu