【发布时间】:2017-02-07 19:32:18
【问题描述】:
我正在使用链表在 C++ 中编写 ADT,并且我不断从我的一个函数中的 while 循环中得到分段错误。我试过自己调试,但找不到问题的根源。
这是函数中的代码:
void remove(int a){
cout << "remove" << endl;
node * temp;
cout << "remove 2" <<endl;
while(head->number != a){
cout << "remove 3" << endl;
head = head->next;
}
cout << "remove 4" << endl;
temp = head;
head = head->next;
delete temp;
}
head 是一个普通节点,head 中的变量 number 是一个整数。 Head 本身就是一个节点指针。
谢谢!
【问题讨论】:
-
那么您为什么不告诉我们打印了哪个 cout 语句,以便我们知道从哪里开始查找
-
命中空指针,我敢打赌。
-
你永远不会检查你是否命中了一个空指针
-
node * temp这是怎么回事? -
while(head->number != a && head!= NULL)
标签: c++ while-loop segmentation-fault