我用 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 处理该怎样?请指点 谢谢!
用 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 处理该怎样?请指点 谢谢!
CPtrList的内部封装 可能也采用链表结构 与List类冲突
应该不会有什么问题的吧,没有看明白 :)
问题可能出在这一句..你的节点p可能是一个空值,在对这个节点作操作时你最好是验证是否得到正常的地址
CString* pst;
pst = new CString;
*pst = "adf";
p_list.AddTail(pst);
不知道void指针是什么意思???
我只知道CPtrList用来表示void指针的链表!可void指针是什么意思???
可转换成其他 任何 类型的指针各位大侠 我说的对吗?