0

我正在做一个项目,我必须每天从队列中弹出 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;
        }

}
4

1 回答 1

0

您编写的函数没有任何问题。由于代码中的其他功能,您的程序可能已经崩溃。检查您是否尝试访问非法内存,即您在程序中的任何其他位置之前尚未分配的内存。

于 2013-04-02T04:27:39.030 回答