我想尝试以下页面上的链接列表示例:How to create Linked List using C++。
到目前为止,这是我的代码:
#include <iostream>
using namespace s-td;
class node {
public:
int value;
node *next;
};
int main() {
node *head = nullptr;
node *temp1;
temp1 = new node();
temp1->value = 1;
temp1 = head;
while(temp1->next!=nullptr) {
temp1 = temp1->next;
}
return 0;
}
但是不幸的是我得到了
Segmentation fault
。我认为这部分是错误的:
while(temp1->next!=nullptr) {
temp1 = temp1->next;
}
最佳答案
您的代码有两件事是错误的:
a)您正在分配temp1 = head
,在您的情况下,它等于temp1 = nullptr
b)您没有将->next
初始化为nullptr
,因此您的while条件可能满足或可能不满足(未定义的行为)