adresse von variable aus struktur array



  • moin moin

    kurze und einfache frage:

    habe folgenden code:

    struct
    	{
    		HANDLE hThread;		// Handles auf die Threads
    		DWORD dwThreadID;		// IDs der Threads
    	}ThrID[1000];
    

    wie komme ich da nun auf die adresse von dwThreadID?

    will nen thread erzeugen, dazu muss man aber die adresse der id übergeben.
    hab schon alle möglichen kombinationen ausprobiert, aber will einfach nicht funktionieren.

    sry für diese anfängerfrage 🙄

    MfG Mailmaster 🙂



  • &(ThrID[i].dwThreadID)
    


  • Was willst du denn überhaupt mit dieser Adresse?

    (für absolute Notfälle gibt es ein C-Makro "offsetof(struct-name,element-name);")

    btw, es wäre sicher praktisch, dem struct-Typ auch einen Namen zu geben, dann erkennt der Compiler es später wieder.



  • Danke Pellaeon, so funktioniert es!

    nur kommen jetzt andere probleme 😃

    ich möchte gerne ne klassenfunktion im thread verwenden, da kommt aber nen compilerfehler. aber mal google befragen, das wird schon wissen was da zu tun ist 🙂

    sah glaub auch irgendwo mal ne nen tut

    MfG Mailmaster



  • 'ne Klassenfunktion bekommt noch einen impliziten this-Pointer (auf das Objekt, für das sie aufgerufen wurde) mit, da müßtest du notfalls eine globale Wrapper-Funktion drumherumbauen:

    void wrapper(LPVOID param)
    {
       ((myclass*)param)->myfunc();
    }
    

    (oder schau mal in einem älteren Thread nach)



  • wrapper war mir zu kompliziert 🙂

    ein static tuts allemal 🙂

    aber danke für eure guten beiträge, ich kann dieses forum nur immer wieder loben 👍 👍

    MfG Mailmaster 🕶


Anmelden zum Antworten