为什么我在析构函数里删了pBitmapInfo,结果还是说内存泄露呢?泄露那里说泄露的是这句BitmapInfo* temp = new BitmapInfo[bitmapnum+1];
下面的是代码:
BitmapInfo* e;
BitmapInfo* temp = new BitmapInfo[bitmapnum+1];
for(int i = 0;i<bitmapnum;i++)
{
temp[i].fathername = pBitmapInfo[i].fathername;
temp[i].nodename = pBitmapInfo[i].nodename;
temp[i].level = pBitmapInfo[i].level;
temp[i].pointx = pBitmapInfo[i].pointx;
temp[i].pointy = pBitmapInfo[i].pointy;
temp[i].gfathername = pBitmapInfo[i].gfathername;
}
int x = bitmapnum*60+100;
int y = 100;
for(i = 1;i<4;i++)
{
if(x>i*600)
{
x = x-i*540;
y = i*200;
}
}
e = pBitmapInfo;
pBitmapInfo = temp;
delete [] e;
pBitmapInfo[bitmapnum].fathername = tmpfathername;
pBitmapInfo[bitmapnum].nodename = tmpnodename;
pBitmapInfo[bitmapnum].level = tmplevel;
pBitmapInfo[bitmapnum].pointx = x;
pBitmapInfo[bitmapnum].pointy = y;
pBitmapInfo[bitmapnum].gfathername = tmpgfathername;
bitmapnum++;
小弟谢过。
下面的是代码:
BitmapInfo* e;
BitmapInfo* temp = new BitmapInfo[bitmapnum+1];
for(int i = 0;i<bitmapnum;i++)
{
temp[i].fathername = pBitmapInfo[i].fathername;
temp[i].nodename = pBitmapInfo[i].nodename;
temp[i].level = pBitmapInfo[i].level;
temp[i].pointx = pBitmapInfo[i].pointx;
temp[i].pointy = pBitmapInfo[i].pointy;
temp[i].gfathername = pBitmapInfo[i].gfathername;
}
int x = bitmapnum*60+100;
int y = 100;
for(i = 1;i<4;i++)
{
if(x>i*600)
{
x = x-i*540;
y = i*200;
}
}
e = pBitmapInfo;
pBitmapInfo = temp;
delete [] e;
pBitmapInfo[bitmapnum].fathername = tmpfathername;
pBitmapInfo[bitmapnum].nodename = tmpnodename;
pBitmapInfo[bitmapnum].level = tmplevel;
pBitmapInfo[bitmapnum].pointx = x;
pBitmapInfo[bitmapnum].pointy = y;
pBitmapInfo[bitmapnum].gfathername = tmpgfathername;
bitmapnum++;
小弟谢过。
{
delete [] pUserInfo;
delete [] pBitmapInfo;
}
{
delete [] temp;
temp = NULL;
}temp = new BitmapInfo[bitmapnum+1];
UserInfo* d;
UserInfo* tmp;
if(NULL != tmp)
{
delete [] tmp;
tmp = NULL;
}
tmp = new UserInfo[nodenum+1];
结果Debug的时候delete [] tmp过不去。
怎么办,有没有好办法啊大哥 们。