我正在寻找程序中的内存泄漏。

我将其范围缩小为一些未被调用的析构函数。但是,我不知道为什么:

class CMain : public CList {
public:
    CMain();
    virtual ~CMain();
    ...
}

class CList : public CProc {
public:
    CList();
    virtual ~CList();
    ...
}

/* some code and a main func here */
CMain *pMain = new CMain();
/* some more code here */
delete pMain;

释放CMain很好,但是从不调用~CList()CList的所有父类也都具有虚拟析构函数。

您是否对为什么从未调用过CList的析构函数有任何暗示?

最佳答案

您可以在〜CMain中设置一个断点以查看其走向吗?

08-05 20:58