我正在开展一个项目,我必须每天从队列中挑选3名学生。我的popFront功能似乎完美无缺 - 因为它打印出正确的学生,但随后我的程序崩溃了。任何人都知道我的函数中是否有某些内容可能导致我的程序崩溃?
void pop_front()
{
int num = 0;
if (front == NULL){
cout<<"No students to pop "<<endl;
return;
}
string value;
while(num<3)
{
Node *temp = front;
if(front->next)
{ value = front->name;
front = front->next;
front->prev = NULL;
size--;
delete temp;
cout<<value<<" ";
num++;
continue;
}
value=front->name;
front = NULL;
back = NULL;
delete temp;
cout<<" Last student in Priority1 list is: "<<value;
break;
}
}
答案 0 :(得分:0)
您编写的功能没有任何问题。由于代码中的其他功能,您的程序可能已崩溃。检查您是否尝试访问非法内存,即在程序中的任何其他位置之前尚未分配的内存。