返回已删除节点的值

时间:2018-10-11 17:18:53

标签: c++

int dequeueAndReturnValue()
{
    if (front==NULL)
        cout << "There is no items to vomit" << endl;
    else
    {
        Node*ptr = front;
        front = front->next;
        delete ptr;
    }
}

我想从称为int的方法中返回已删除指针的值

1 个答案:

答案 0 :(得分:0)

这应该有效:

 std::unique_ptr<Node> ptr( front );
 front = ptr->next;
 return ptr->value;

但是您实际上应该首先使用智能指针。

注意:如果front等于nullptr(并且您应该使用它而不是NULL),则还必须返回某些内容或引发异常,否则您的代码将具有不确定的行为。