可用分太少请见谅!求教:为什么删除不了?(附代码)
CPtrList m_CList;
BOOL FriendList::Delete(CString strFNum)
{
FriendInformation *pConfig;
POSITION pos=m_CList.GetHeadPosition();
while(pos != NULL)
{
pConfig=(FriendInformation*)m_CList.GetNext(pos);
if((strcmp(pConfig->szFVNum , strFNum)) == 0)
{
// m_CList.RemoveAt(pos-1);
delete pConfig; //*****
return TRUE;
}
}
return FALSE;
}
该函数是从内存链表中删除一个节点,当在debug版下可以正确删除,在release版下没有正确删除
在用以下函数显示时,release版删除的节点又出现了, 但debug版删除的没有显示
BOOL FriendList::GetData(BYTE byGroupID)
{
if(ISEmpty())
return FALSE;
POSITION pos=m_CList.GetHeadPosition();
while(pos!=NULL)
{
pConfig=(FriendInformation*)m_CList.GetNext(pos);
if(pConfig->byFGroupID == byGroupID)
m_VMAddressList.DisplayGroupFriend(pConfig); /*显示在界面上*/
}
return TRUE;
}