我的程序中有一个结构
struct List
{
int data;
List *next;
};
并且需要一个在列表尾部添加元素的函数:
void addL(List* &tail, int dat)
{
if (tail==NULL)
{
tail = new List;
tail->data = dat;
tail->next=NULL;
}
else
{
tail->next = new List;
tail = tail->next;
tail->data = dat;
tail->next = NULL;
}
}
terminate called after throwing an instance of 'St9bad_alloc'
what(): std::bad_alloc
Program received signal SIGABRT, Aborted.
0xb7fdd424 in __kernel_vsyscall ()
在线
tail->next = new List;
我尝试创建另一个类型为List的变量,代码如下:
List* add;
add = new List;
但是第二行仍然有同样的问题。如何正确重新编写?还需要在此处粘贴调用addL函数的代码吗?如果这个问题已经被问过了,对不起,我在查看时没有理解。