解决方案 »
- connect 简单问题
- VC程序员看不进去书怎么办啊?
- 热烈庆祝本人在CSDN上到网友声望榜第二名!!!
- 工具栏问题?
- 如何设置文件信息?
- 像msn中的对话框窗体的水平分割条怎么编写?有现成的代码吗?
- 100分求问一个很菜的问题
- CRichEditCtrl设置行距问题
- 请教如何在CListCtrl控件中添加一个右键菜单,并且获取当前鼠标所指示的数据,可以写一下源码吗?
- 对于网络状况不是很好的环境,是不是每次都关闭连接,情况会好点?
- 大多数情况下,vc中如何做界面呀?是用对话框做呢?还是用代码写,执行时动态生成界面? 我是新手,刚接触vc,以前会一点vb,但是感到vc在做界面方面与vb,de
- 为何cpoint对象可以这样赋值呢?
if(bFineImgInf)
{
pCurImage = new ImageStatus;
//ASSERT(pCurImage!=NULL);
pCurImage->lbusino = xml.GetChildAttrib("Busino");
pCurBatch->imagestatus = pCurImage;
delete pCurImage;
pCurBatch->imagestatus = NULL;
pCurImage=NULL;
}
{
pCurImage = new ImageStatus;
//ASSERT(pCurImage!=NULL);
pCurImage->lbusino = xml.GetChildAttrib("Busino");
pCurBatch->imagestatus = pCurImage;
delete pCurImage;
pCurBatch->imagestatus = NULL; //这样好像不行哦
pCurImage=NULL;
}
朋友帮帮忙!!
按F5,在调试状态下运行,程序退出后在“输出窗口”可以看到有无内存泄露出现,例如:
Detected memory leaks!
Dumping objects ->
C:PROGRAM FILESVISUAL STUDIOMyProjectsleaktestleaktest.cpp(20) : {18} normal block at 0x00780E80, 64 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
Object dump complete.
while (bFineImgInf && nTotal>1)
{
pNextImage = new ImageStatus;
ASSERT(pNextImage!=NULL);
pNextImage->lbusino = atoi(xml.GetChildAttrib("Busino"));
pCurImage->next = pNextImage;
pCurImage = pCurImage->next;
pCurImage = NULL;
delete pNextImage;
pNextImage = NULL;
}
{
pCurImage = new ImageStatus;
ASSERT(pCurImage!=NULL);
pCurImage->next=NULL; <-----
pCurImage->lbusino = xml.GetChildAttrib("Busino");
pCurBatch->imagestatus = pCurImage;
//delete pCurImage; <--------------这里delete了后面怎么用pCurBatch->imagestatus?,要去掉
}while (bFineImgInf && nTotal>1)
{
pNextImage = new ImageStatus;
ASSERT(pNextImage!=NULL);
pNextImage->next=NULL;
pNextImage->lbusino = atoi(xml.GetChildAttrib("Busino"));
pCurImage->next = pNextImage;
pCurImage = pCurImage->next;
//pCurImage->next = NULL; <------去掉
nTotal--;
//delete pNextImage; <------去掉
}//delete的时候要先把image_struct里面的删掉
pCurImage=pCurBatch->imagestatus;
While(pCurImage!=NULL)
{
.........
pNextImage=pcurimage->next;
delete pCurImage;
pcurimage=pNextimage;
.........
}
//.....
delete pCurBatch;
{
pNextImage = new ImageStatus;
ASSERT(pNextImage!=NULL);
pNextImage->lbusino = atoi(xml.GetChildAttrib("Busino"));
pCurImage->next = pNextImage;
pCurImage = pCurImage->next;
pCurImage->next = NULL;
nTotal--;
//delete pNextImage;
}既然是创建链表,那么就不应该new了就delelte释放,而是由一个专门的release函数等,当需要确实需要释放链表的时候,遍历链表,然后delete每一个元素..