problem mit thread



  • hi
    in meinem programm möchte ich einen thread starten.
    aber ich bekomme einen fehler, obwohl ich in einem anderen programm keinen fehler bekomme...(bei gleichem aufruf)

    //funktion
    DWORD WINAPI Makro::texecute(LPVOID p){...};
    
    //aufruf in funktion
    threadhandel=CreateThread(NULL,//security
    									0,//stacksize
    									texecute,//procedure
    									0,//parameter
    									0,//flags 0=start imediatly
    									0);//return
    

    fehler:

    error: argument of type `DWORD (Makro::)(void*)' does not match `DWORD (*)(void*)'
    

    wo liegt der fehler?



  • Die übergebene Funktion darf keine nicht- statische Memberfunktion sein.

    Entweder Du machst sie global oder statisch.

    Ein typisches Pattern ist eine statisch Memberfunktion. Beim erstellen des Thread wird der this Zeiger übergeben.

    Simon



  • ok thx
    jetzt klappt es


Anmelden zum Antworten