从一个数组中生成一棵树的问题,帮我看看代码哪儿有问题?

cdpcsc 2011-08-05 09:41:55
typedef list<void*> PtrList
参数lst里大概有90来个CDepartmentInfo类型指针,下面的代码在lst里大概还有30多个的时候 貌似it失效了,会异常。

void CBargainDlg::InsertItemByArray(PtrList& lst, unsigned int depid /*= 0*/, HTREEITEM hItem /*= TVI_ROOT*/)
{
PtrList::iterator it = lst.begin();
while ( it != lst.end() )
{
CDepartmentInfo *p = ( CDepartmentInfo * ) * it;
if( p->parentid == depid )
{
it = lst.erase( it );
hItem = m_ColleagueTree.InsertItemEx( p->id, p->strName,TVECID, TVEIID,hItem );
InsertItemByArray( lst, p->id, hItem );
int a= 5;
}
else
++it;
}
}


其中CDepartmentInfo的定义为

class CDepartmentInfo: public CObject
{
public:
unsigned int id;
unsigned int parentid; //0表示根节点
CString strName;
};
...全文
93 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryfdizuo 2011-08-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cdpcsc 的回复:]

OK了
C/C++ code

void CBargainDlg::InsertItemByArray(PtrList &lst, unsigned int depid /*= 0*/, HTREEITEM hPItem /*= TVI_ROOT*/)
{
PtrList::iterator it = lst.begin();
while ( it != lst.en……
[/Quote]
OK了 就jf~
cdpcsc 2011-08-05
  • 打赏
  • 举报
回复
OK了

void CBargainDlg::InsertItemByArray(PtrList &lst, unsigned int depid /*= 0*/, HTREEITEM hPItem /*= TVI_ROOT*/)
{
PtrList::iterator it = lst.begin();
while ( it != lst.end() )
{
CDepartmentInfo *p = ( CDepartmentInfo * ) * it;
if( p->parentid == depid )
{
HTREEITEM hItem = m_ColleagueTree.InsertItemEx( p->id, p->strName,TVECID, TVEIID,hPItem );
InsertItemByArray( lst, p->id, hItem );
it = lst.erase( it );
}
else
++it;
}
}
信阳毛尖 2011-08-05
  • 打赏
  • 举报
回复
不过你说说造成的原因,解决的方法撒?所谓前人栽树,后人乘凉......
信阳毛尖 2011-08-05
  • 打赏
  • 举报
回复
解铃还须系铃人!!!

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧