delete m_listDRAW.GetNext(pos);
=============
这个语句是不是一定能成功呢?
改成这样试试:
while(pos!=NULL)
{
p=m_listDRAW.GetHead();
m_listDRAW.RemoveHead();
delete p;
pos=m_listDRAW.GetHeadPosition();
}
=============
这个语句是不是一定能成功呢?
改成这样试试:
while(pos!=NULL)
{
p=m_listDRAW.GetHead();
m_listDRAW.RemoveHead();
delete p;
pos=m_listDRAW.GetHeadPosition();
}
解决方案 »
- [广告监测]广播电视监测领域求教
- VC 2008 怎么生成在没装VC的机器上直接运行?
- vc2005中如何创建单选按钮
- 为什么使用ShellExecute打开的程序不能正常读取INI文件中的内容
- 菜鸟请教在VC下开发数据库应用程序,一般用什么控件能比较方便的实现数据库的增,删,改?
- 找了很久的工作,后天就要去面试了(VC程序员)。一般是什么问题啊!帮帮我!给分
- 关于LoadBitmaps问题
- 请教大侠,如何获得主线程指针呢?
- 使用VC++.net2005进行托管C++编程怎么样编写DLL?
- 为什么在MFC中右键添加类没有反应
- udp使用iocp模型,创建成功后,投递了一个WSARecvFrom。当投递一个WSASendTo后,之前投递的WSARecvFrom返回了FALSE。
- 一个链表能否装各种绘图方法,怎么释放才不泄漏
这个是每一次都取 头 然后从列表删除头 delete头的内存
循环
while(pos)
{
delete m_listDRAW.GetNext(pos);
}
你在这里只是释放了一个pos,pos没有移动到下一个位置,自然释放完第一个,后面的就不会再被释放了