求教 有关 CPtrList 的问题

LeonTown 2005-04-26 06:05:22
我用 CPtrList 的对象p_list 存储一些链表的表头地址(链表中保存CString类型的字符串st)
然后 循环查询 其中保存的所有链表的所有内容

代码如下:
POSITION pos;
ListNode* p = (ListNode*)p_list.GetHead();
for(pos=p_list.GetHeadPosition(); pos!=NULL; )
{
p = (ListNode*)p_list.GetNext(pos);
AfxMessageBox(p->st);
}

编译通过但运行报错
请指点 谢谢!
...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
LeonTown 2005-05-01
  • 打赏
  • 举报
回复
谢谢各位的关注!
在此 先纠正一下代码:
用 CPtrList 的对象p_list 存储一些链表的表头地址(l1.first, l2.first, ... //l1, l2, ... 为链表类的对象。链表中保存CString类型的字符串st)
然后 循环查询 其中保存的所有链表的所有内容

//插入:
p_list.AddTail(l1.first);
p_list.AddTail(l2.first);
....

//查询:
POSITION pos;
ListNode* p = (ListNode*)p_list.GetHead();
for(pos=p_list.GetHeadPosition(); pos!=NULL; )
{
while(p->link != NULL)
{
p = p->link;
AfxMessageBox(p->st);
}
p = (ListNode*)p_list.GetNext(pos);
}

编译通过 但 运行奇怪且出现类似内存错误
Tip: 或许CPtrList的内部封装 与 List类冲突 可能均采用链表结构
该如何解决呢?
如果用CObList 或 CObArray 该如何处理呢?
42252343 2005-04-28
  • 打赏
  • 举报
回复
抱什么错撒 在贴些代码
现在发贴的人真是不熟练 就说句运行出错 让别人怎么找
oyljerry 2005-04-28
  • 打赏
  • 举报
回复
调试一下,看到底哪里出错
LeonTown 2005-04-28
  • 打赏
  • 举报
回复
To nuaawenlin(飘人):

还是不行啊!
CPtrList的内部封装可能也采用链表结构 与List冲突
应该如何处理啊?
nuaawenlin 2005-04-26
  • 打赏
  • 举报
回复
POSITION pos;
ListNode* p = (ListNode*)p_list.GetHead();
for(pos=p_list.GetHeadPosition(); pos!=NULL; )
{
AfxMessageBox(p->st);

p = (ListNode*)p_list.GetNext(pos);
}
你最后一次的时候已经到末尾了,

16,551

社区成员

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

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

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