-3
下面的代码是我整个程序的一个片段。我定义的唯一的东西是构造函数(head = 0
),析构函数和一个函数,用于创建一个包含20个值的链表。他们应该是随机的(我可以处理),但我需要先解决这个seg故障。帮帮我!对于节点为什么我会出现分段错误?
结构类型是:
struct ListNode
{
int value;
ListNode *next;
};
ListNode *head;
CODE:
void NumberList::buildSortedList(){
ListNode *newNode;
int number = 1;
int count = 0;
head->value = number;
ListNode *p;
do{
p = head;
while (p->next) { // traverse the list to the end to append new value
p = p->next;
newNode = new ListNode;
newNode->value = number;
newNode->next = NULL;
p->next = newNode;
}
}while (count < 19);
}
** - 1 **如果这是所有相关的代码,那么您将解除引用那个未初始化的head,一个不确定的值。根据您的想法下调您的想法,足以确定哪些代码是相关的。你应该总是发布一个*完整*但最小的例子。 –
所以你在你的ctor中定义了'head = 0',然后你做'head-> value'?不知道会发生什么问题...... – Nacho