#include<iostream>
using namespace std;
class list
{
public:
list();
bool insertHead(int n);
private:
struct node
{
int item;
node *next;
};
node* head;
};
list::list()
{
head = NULL;
head -> item = 0;
head -> next = NULL;
}
bool list::insertHead(int n)
{
node* tempptr = new node;
tempptr->item = n;
tempptr->next = head;
head = tempptr;
return true;
}
int main()
{
list test1;
test1.insertHead(4);
return 0;
}
这段代码编译得很好,但不幸的是在运行时会出现段错误。我尝试在 insertHead 函数的末尾添加 delete tempptr 但无济于事。我在内存分配方面很糟糕,我知道分段错误与运行时的内存分配有关。有谁能够帮助我?我只是使用 insertHead 将一个整数插入到链表的前面。有人可以帮帮我吗?谢谢!我将实现和其他文件结合在一起,这样更容易阅读......我想。谢谢