thread
-
_beginthread(SetRenderNotify, 0, NULL); void CEngine::SetRenderNotify(PVOID elapse) { // private DWORD st; // set new elapse //iRenderElapse = elapse; // loop while(1){ st = GetTickCount(); while((GetTickCount()-st)<iRenderElapse){} Render(); } }
=>
error C2664: '_beginthread' : cannot convert parameter 1 from 'void (void *)' to 'void (__cdecl *)(void *)'
was mach ich falsch?
-
Ich kenn mich mit threads nicht aus, aber vielleicht findest du da die Lösung:
cu
-
Du musst die Funktion der Klasse static deklarieren. Und mit _cdecl auszeichnen.
Also so:class CEngine { public: static _cdecl void SetRenderNotify(PVOID elapse); };
-
Muss es nicht __cdecl heissen, also mit zwei "_"-en?
cu
-
der creator hat ja nur noch fragen :p
-
Wieso? Ich werde doch mal fragen dürfen, dafür ist doch so'n Forum da. Und außerdem helfe ich auch wo ich kann!
cu
-
Hab doch nur eine Feststellung gemacht und finde das doch überhaupt ned schlimm. :p
Weiter so.
-
zur Frage: Beim Visual C++ geht beides. :p
-
Achso, da geht beides. Ich hab mich nur gewundert, weil im Petzold das nur mit zwei "_" steht.
cu