[MT] Lancement de Threads
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:
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:
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:
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 ;)