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

原创 2010年11月22日 13:35:00

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

 

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

 

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

 

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

 

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

 

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

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

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

C++不允许使用不完整的类型说明

C与C++关于不完整类型的说明 在讲述柔性数组成员之前,首先要介绍一下不完整类型(incomplete type)。不完整类型是这样一种类型,它缺乏足够的信息例如长度去描述一个完整的对象。 6...
  • qq_36038987
  • qq_36038987
  • 2017年08月31日 15:34
  • 2149

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

今天调试代码发现了一个很怪异的现象,delete 指针竟然没有调用析构函数,具体代码如下 class CClient; class CClientManager { private: CClie...
  • xbgprogrammer
  • xbgprogrammer
  • 2013年08月23日 23:20
  • 2883

Warning C4150的原因和解决办法

今天有同事碰到了这个Warning:Warning C4150Deletion of pointer to incomplete type type; no destructor called下面的代...
  • ATField
  • ATField
  • 2007年02月27日 22:52
  • 4953

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

warning C4150 删除指向不完整“”类型的指针;没有调用析构函数,内存泄露
  • zzw315
  • zzw315
  • 2010年11月22日 13:35
  • 4150

C++之不完全类型

在muduo源代码中,会看到这样的代码: typedef char T_must_be_complete_type[sizeof(T) == 0 ? -1 : 1]; T_must_be_comp...
  • q5707802
  • q5707802
  • 2018年02月04日 18:00
  • 12

“不允许指针指向不完整的类类型”问题分析

refs: http://blog.csdn.net/tonycoo/article/details/42931373 theApp.m_pDlgLog->SendMessage(DE...
  • Henry_Wu001
  • Henry_Wu001
  • 2016年03月18日 11:12
  • 3130

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

warning C4150:
  • feiyinzilgd
  • feiyinzilgd
  • 2011年03月21日 02:36
  • 4610

C++错误--不允许使用不完整的类类型--之原因分析

在一个文件中定义了一个类BrushAlgorithm,在另一个文件中使用时说不允许使用不完整的类型。使用方法如下: BrushAlgorithm brush;   分析问题:使用该类的文件看不到...
  • try2find
  • try2find
  • 2013年01月13日 23:19
  • 9605

不完全类型和复杂声明

http://learn.akae.cn/media/ch23s09.html 在第 1 节 “复合类型与结构体”讲过算术类型、标量类型的概念,现在又学习了几种类型,我们完整地总结一下C语言的类型。...
  • sha_jinhao
  • sha_jinhao
  • 2013年01月07日 12:14
  • 1042

C++不允许使用指向不完整类型的指针

定义一个类 myclass 的对象指针 *myobject,在使用 myobject 时提示错误不允许使用指向不完整类型的指针,一般是类 myclass 的定义找不到,没包含头文件。...
  • BlueCheney1990
  • BlueCheney1990
  • 2014年12月25日 20:30
  • 4704
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:warning C4150: 删除指向不完整“CBasexxx”类型的指针;没有调用析构函数
举报原因:
原因补充:

(最多只允许输入30个字)