我在实现链表的代码中出现分段错误。任何帮助表示赞赏。谢谢。我在这里故意添加了struct方法。
struct node{
int data;
node *next;
node(int data){
this->data = data;
this->next = NULL;
}
node(int data, node *next){
this->data = data;
this->next = next;
}
int getData(){
return data;
}
node* getNextNode(){
return next;
}
};
class LinkedList {
private:
node *head,*tail;
public:
linked_list(){
head=NULL;
tail=NULL;
}
void addNode(int data){
node *temp = new node(data);
if(head==NULL){
head = temp;
tail = temp;
}
else {
tail->next = temp;
tail = temp;
}
}
void display(){
node *temp;
temp = head;
cout<<"PRINTING LINKED LIST"<<endl;
while(temp!=NULL){
cout<<temp->getData()<<" ";
temp = temp->getNextNode();
}
}
};
调用以下代码时出现分段错误:
LinkedList myLinkedList;
myLinkedList.addNode(1);
myLinkedList.addNode(2);
myLinkedList.display();
堆栈溢出正在要求更多详细信息,我可以提出这个问题。放入一些乱码,请忽略以下部分: 儿童歌曲歌曲“矮胖子”的歌词:矮胖子坐在墙上,矮胖子跌倒了所有国王的马和所有国王的人。
答案 0 :(得分:0)
问题在这里
ulimit -a
class LinkedList {
private:
node *head,*tail;
public:
linked_list() {
head=NULL;
tail=NULL;
}
不是linked_list
的构造函数,因为拼写不同。显然应该是这样
LinkedList
现在,您发布的代码应该尚未编译,或者至少应该已经生成了编译器警告消息。始终注意编译器的警告消息。