我有一个**object(**personnel)作为内部(组合)另一个对象的成员,我想释放指向另一个()的内存**personnel并将其指向另一个**temp(personnel=temp),而不需要deleteing**personnel并且只是personnel=temp让程序运行良好,但是如果我试图delete **personnel让它混乱一切都好,我总是得到一个错误“ _Block_Type_Is_Valid (pHead->nBlockUse)”
(我有析构函数(和virtual基本析构函数),其中一些什么都不做,但我仍然得到错误)。(我从各个角度都试过了delete personnel[i],delete []personnel[i]等等))
(为此失去了几天)
我做错了什么,是否正确delete,如果是,我该怎么做?
编辑:
if(personnel!=NULL)
{
for(i=0;i<numberofemployees;i++)
{ **/*what to do here*/**
delete []this->personnel[i];
}
/*delete personnel;*/
}
personnel=temp;
numberofemployees++;
}
**personnel是这个类的成员,(Employee **personnel,employee是其他派生类的基类,各种员工,我用的是多态),这个函数只是添加一个员工,函数很长这就是为什么我只放了一部分,希望你能理解我,如果我不删除似乎一切正常,否则我会得到断言错误,