我用了二重CPtrlist
第一重CPtrList中存放了几个CPtrlist对象的指针,new出来的
第二重CPtrList中存放了几个自定义的数组,也是new出来的
但是在释放内存的时候出错,说第二重CptrList的getNext函数Access Viloate分配内存:
for(i = 0 ; i<nComputeNum ;i++)
{
CPtrList *p = new CPtrList;

for(int j = 0 ; j < (*pTargetNum) ; j++)
{
_FusedDataPackage *pFused = new _FusedDataPackage[WSS_MAXDOTNUMBER];
p->AddTail(pFused);
}
pDoc->m_ptrFuseData.AddTail(p);
}
释放内存:
//销毁二重队列,比较大块的内存
POSITION pos;
CPtrList *p;
pos=m_ptrFuseData.GetHeadPosition();

while(pos!=NULL)
{

p=(CPtrList *)m_ptrFuseData.GetNext(pos);
//----------------------内层-------------------------
POSITION posIn;
_FusedDataPackage * pFused;
posIn = p->GetHeadPosition();
while(posIn!=NULL)
{
pFused = (_FusedDataPackage *)(p->GetNext(posIn));//**************************************
delete [] pFused;//销毁内层的队列 _FusedDataPackage[WSS_MAXDOTNUMBER]
}
//----------------------~内层----------------------------- p->RemoveAll();
delete p;//销毁外层的CPtrList指针
}
m_ptrFuseData.RemoveAll();上面的**************************************处报错,说Access violate
求助!