warning C4150: 删除指向不完整“CBasexxx”类型的指针;没有调用析构函数

VC编译的时候发现一个“warning C4150: 删除指向不完整“CBaseData”类型的指针;没有调用析构函数”

 

而且CBaseData也定义了析构函数。

 

发现程序有内存泄露问题,同时,内存的释放我是通过删除指向派生类的基类指针。

 

估计释放内存是因为删除对象没有释放内存。

 

根据上面的warning知道了,是因为我调用删除对象的时候,CBaseData的定义不完整。下面贴出代码。。。。。。

 

由于Funtion的实现函数没有跟CBaseData的实现函数放在一起,估计编译器在执行delete pBData时没有找到CBaseData的完整定义

所以造成删除对象不成功。

不知道我这样解释大家看懂没有。

阅读更多
文章标签: c delete 编译器 class
个人分类: 技术文章
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭