我想将堆栈收件箱中的内容移动到发件箱,然后返回发件箱顶部。但是 pop 的返回类型是 void,所以代码会抛出一个错误:void value not ignored as it hould be.
如何移动这些值?
这是代码:
template <class E>
class Queue
{
private:
stack<E> inbox;
stack<E> outbox;
public:
void enqueue(E item) {
inbox.push(item);
}
E dequeue() {
if (outbox.empty()) {
while (!inbox.empty()) {
outbox.push(inbox.pop());
}
}
return outbox.pop();
}
};