int dequeueAndReturnValue()
{
if (front==NULL)
cout << "There is no items to vomit" << endl;
else
{
Node*ptr = front;
front = front->next;
delete ptr;
}
}
我想从称为int的方法中返回已删除指针的值
答案 0 :(得分:0)
这应该有效:
std::unique_ptr<Node> ptr( front );
front = ptr->next;
return ptr->value;
但是您实际上应该首先使用智能指针。
注意:如果front
等于nullptr
(并且您应该使用它而不是NULL
),则还必须返回某些内容或引发异常,否则您的代码将具有不确定的行为。