Nur eine CodeZeile !



  • Hi an diesem verregneten Tag,
    ich hätte mal ne Frage die eigentlic eher C++ Stuff ist aber durch die Mfc aifgeworfen wurde.

    Es geht um folgende Pointer Deklaration:

    CListBox *pLB = (CListBox*)GetDlgItem(IDC_lstAbt);

    Es wird ein Pointer vom Typ CListBox deklariert. Was nach dem = folgt ist das eine Funktionszeigerdeklaration ?
    Wäre nett wenn ihr die CodeZeile erklären könntet !

    😉
    ShadowEater



  • Das ist ein Cast-Ausdruck im C-Stil - sprich eine Typumwandlung von CWnd* (den Typ liefert GetDlgItem() zurück) in CListBox*.



  • Man kann die Zeile auch aufteilen, vielleicht siehst du es dann besser:

    CWnd *pWnd = GetDlgItem(IDC_lstAbt);
    CListBox *pLB = (CListBox*)pWnd;
    

    🙂



  • Ja DANKE 😉 ,

    jetzt hab ichd es wird also ein CWND Pointer in einen CListBox Pointer gecastet(CListBox*), da CListBox *pLB = einen CListBoxPointer erwartet, GetDlgItem(IDC_lstAbt); aber einen CWnd Pointer zurückgibt !

    😉
    ShadowEater


Anmelden zum Antworten