Tam*_*ami 5 c++ ubuntu sigabrt
我的程序中有一个结构
struct List
{
int data;
List *next;
};
Run Code Online (Sandbox Code Playgroud)
以及向列表尾部添加元素的功能:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
gdb说到了这个问题
terminate called after throwing an instance of 'St9bad_alloc'
what(): std::bad_alloc
Program received signal SIGABRT, Aborted.
0xb7fdd424 in __kernel_vsyscall ()
Run Code Online (Sandbox Code Playgroud)
排队
tail->next = new List;
Run Code Online (Sandbox Code Playgroud)
我尝试制作另一个类型为List的变量:
List* add;
add = new List;
Run Code Online (Sandbox Code Playgroud)
但在第二行遇到了同样的问题.
如何正确地重写?是否需要粘贴调用addL的函数?对不起,如果这个问题已经被问过,我一看就知道了.
| 归档时间: |
|
| 查看次数: |
23175 次 |
| 最近记录: |