Bah, me revoilà, je n'y arrive toujours pas
Bon, j'ai voulu faire un peu d'ordre, et donc maintenant je me balade avec des classes...
Mais je crois que je n'ais vraiment pas tout compris sur les threads lol...pourtant j'ai cherché...
1 2 3 4 5 6 7 8 9 10
| DWORD dwThreadId, dwThrdParam = 1;
HANDLE hThread;
hThread = CreateThread(
NULL, // attribut de securité par defaut
0, // taille de la pile par defaut
ThreadFunc, // notre function
&dwThrdParam, // l'argument pour la fonction
0, // flag de creation par defaut
&dwThreadId); |
Voilà ce que j'avais trouvé pour m'aider...Mais je ne comprends pas comment passer des paramètres à mon thread.
1 2 3 4
| void Missile::ThreadFunc(Missile M1)
{
M1.affiche();
} |
Voilà ma fonction k'est sensé appelé mon thread (bon, je l'ai déclaré dans ma classe Missile), et je voudrais que mon thread appel ma fonction d'affichage pour ce missile M1, mais ne sachant pas comment passer des paramètres à mon thread, ça ne marche pas lol...
donc pour la création de mon thread je fais :
hThread = CreateThread(NULL,0,M1.ThreadFunc,&dwThrdParam,0,&dwThreadId);
et voilà mon erreur :
error C2664: 'CreateThread' : cannot convert parameter 3 from 'void (class Missile)' to 'unsigned long (__stdcall *)(void *)'
Comment je pourrais corriger cela?
Merci d'avance!
Partager