C++链表核心转储错误
C++ Linked List Core Dump error
尝试做一个简单的链表程序,得到分段错误(核心转储)错误,任何人都可以帮忙吗?无法理解指针到底在哪里搞砸了。
你能建议任何其他有效的方法来写这个吗
#include<iostream>
using namespace std;
struct node{
int x;
node *next;
}*head=NULL,*temp=head;
class list{
public:
list(){
temp=head;
}
//is something happening here causing core dump?
void addnode(int value){
if (head==NULL)
{
head->x=value;
head->next=NULL;
}
else
{
while(temp->next!=NULL)
temp=temp->next;
temp->next=new node;
temp=temp->next;
temp->x=value;
temp->next=NULL;
}
}
void print(){
while (temp->next!=NULL)
{
cout<<temp->x<<" ";
temp=temp->next;
}
}
};
int main()
{
list l=list();
l.addnode(12);
l.addnode(23);
l.print();
return 0;
}
你忘记分配对象
void addnode(int value){
if (head==NULL)
{
head = new node; //here was a mistake
head->x=value;
head->next=NULL;
同时删除全局温度变量并使用局部
else
{
node *temp = head;
while(temp->next!=NULL)
temp=temp->next;
}
void print(){
node *temp = head;
while (temp!=NULL) // here mistake too
{
cout<<temp->x<<" ";
temp=temp->next;
}
}
您专门测试head
是否NULL
,如果是,则head
.这显然是错误的。您可能希望首先分配一个新节点。
相关文章:
- C++映射分割错误(核心转储)
- 在c++中初始化矩阵时出现分段错误(核心转储)
- 在c++中键入向量中的所有值后,得到分段错误(核心转储)
- 分段错误(核心转储)但无法弄清楚
- 分段错误(核心转储) - 使用 SavedModel 的 Tensorflow C++ API 进行推断
- C++运行时错误与快速排序算法抛出堆栈转储错误
- C++指针无法在函数外部传递值和分段错误(核心转储)错误
- 合并排序:分段错误核心转储
- C++:分段错误(核心转储)
- 分段错误(内核转储) C++面向对象编程
- 从 pybind11 构建导入模块时出现"分段错误(核心转储)"
- qt C++命令行代码中的分段错误(核心转储)
- 从文件中读取的数据,但发生核心转储错误
- C++ atof - 分段错误(核心转储)
- 为什么我的代码包含错误分段错误(核心转储)?
- 运行编译的 a.out 后出现分段错误(核心转储)错误
- 为什么我的代码给我一个分段/核心转储错误?
- 有关矩阵的代码错误导致分段错误(内核转储)
- 双重释放或损坏(输出)和中止(核心转储)错误
- 运行我的代码时出现分段错误(核心转储)问题