我用 CPtrList 的对象p_list 存储一些链表(List类) 的表头地址(链表中保存CString类型的字符串st)
用 l1,l2,...... 表示List类的对象//插入:
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 处理该怎样?请指点   谢谢!

解决方案 »

  1.   

    运行时什么错呢?内存错误?
    CPtrList的内部封装 可能也采用链表结构 与List类冲突
    应该不会有什么问题的吧,没有看明白  :)
      

  2.   

    ListNode* p = (ListNode*)p_list.GetHead();
    问题可能出在这一句..你的节点p可能是一个空值,在对这个节点作操作时你最好是验证是否得到正常的地址
      

  3.   

    链表中保存CString类型的字符串st“的指针”!!!
    CString* pst;
    pst = new CString;
    *pst = "adf";
    p_list.AddTail(pst);
      

  4.   

    借过!
    不知道void指针是什么意思???
    我只知道CPtrList用来表示void指针的链表!可void指针是什么意思???
      

  5.   

    To yjjbmk(天涯浪人):void指针 是“万能”指针 
    可转换成其他 任何 类型的指针各位大侠 我说的对吗?