【发布时间】:2014-04-23 15:19:06
【问题描述】:
我已经确定当我为我的LinkedList class 调用toString() 方法时发生错误,更具体地说是在执行第 8 行或第 9 行时发生的错误
string LinkedList::toString() const
{
int traverse=1;
Node * that = head;
string sout;
while(size>=traverse)
{
sout += "value = "+that->s +" ";
that = that->next;
traverse++;
}
return sout;
}
这个 LinkedList 使用一个 Node 类来存储看起来像这样的数据,而 LinkedList 类本身有一个 int 大小变量和一个指向第一个 Node 的指针
class Node
{
friend class LinkedList;
private:
std::string s;
Node * next;
Node(std::string st, Node *nextn);
};
我猜这是我的一些愚蠢的菜鸟错误,但我无法通过盯着它或重新阅读关于指针的教程来弄清楚
【问题讨论】:
-
尝试添加条件while(size>=traverse && that )
-
现在这是一种非常不习惯、不正确和令人费解的遍历链接列表的方式……