Pointer - Auf member Var. zugreifen



  • Moin,
    wie so kann ich per Pointer nicht auf meine Membervariablen zugreifen aber ansonsten schon.

    Meine zu benutzende Klasse:
    class CTest : public CDialog
    {
    ...
    int m_nVar;
    ...
    }

    Nun benutze ich die aus einer anderen Klasse herraus:

    CTest Test;
    Test.m_nVar = 1;

    Geht auch alles wuderbar. Nun ersetze ich das einfach durch:

    CDialog * Pointer;
    Pointer = new CTest;
    Pointer->m_nVar = 1; // m_nVar ist kein Memmber von CTest meint er

    😕 Kann mir das mal einer erklären? 😕



  • Weil die Klasse Dialog keine solche Membervariable besitzt.
    Entweder legst du den Pointer als CTest an:

    CTest * Pointer;
    Pointer = new CTest;
    Pointer->m_nVar = 1;
    

    oder du castest nach CTest:

    CDialog * Pointer;
    Pointer = new CTest;
    ((CTest*)Pointer)->m_nVar = 1;
    


  • *grr*

    Ohh man ja schon klar. Hätte vieleicht mal n Pause machen sollen und es mir dann noch mal angucken.

    Vielen Dank *peinlich peinlich*


Anmelden zum Antworten