Aus Pointer normale Variable machen



  • Ich habe einen Pointer
    CPaintDC* pDC

    muss aber an die Funktion:
    GetSystemPaletteEntries(pDC, 0, 255, pLP->palPalEntry );

    als ersten Wert ein HDC hdc als 'Pass by Value' übergeben. Den Pointer kann ich also nicht übergeben. Nur wie mache ich aus dem Pointer wieder einen 'nicht-Pointer' ?

    Vermutlich ist die Lösung einfach, aber ich sehe sie gerade nicht.

    Matthias



  • Derefererenzieren:

    CPaintDC *pDC = new CPaintDC;
    //Wert zuweisen usw.
    GetSystemPaletteEntries(*pDC, 0, 255, pLP->palPalEntry );
    


  • Das Objekt "hinter dem Pointer" erreichst du, indem du ihn dereferenzierst. Aber die Funktion GetSystemPaletteEntries() benötigt nicht mal das Objekt selber, sondern den darin verpackten HANDLE pDC->m_hDC als ersten Parameter.


Anmelden zum Antworten