Class Pointer auf Null setzen



  • hallo,

    entweder denke ich falsch oder ??

    [cpp]
    class CMplClientD : public CSubClassD
    {
    CMplClientD(CWnd* pParent = NULL, HBRUSH hbrBackground = 0);
    virtual ~CMplClientD(void);

    ..
    }

    class xx
    {
    ...

    private:
    void delclass(CSubClassD* pWnd)
    {
    if(pWnd)
    {
    ...
    delete pWnd;
    pWnd=NULL; //hier wird der pointer ordnungsgemäß auf null gesetzt
    }
    }

    void test()
    {
    delclass(m_pWnd);
    // class wird entladen aber pointer vom m_pWnd wird nicht auf NULL gesetzt
    // **ist das so ??
    **}

    private:
    CMplClientD* m_pWnd;
    }[/cpp]

    volker



  • void delclass(CSubClassD*& pWnd)
    

    Parameter von Funktionen sind immer Kopien, ausser es wird mit & explizit eine Referenz verlangt.



  • @rene void delclass(CSubClassD*& pWnd)

    danke ich sollte vieleicht noch mal c lernen, dieser zeiger'ei

    volker


Anmelden zum Antworten