这是我第一次尝试使用两个堆栈创建一个队列。我不知道我是否在正确的轨道上,因为我由于'=': cannot convert from 'void' to 'int'
错误而无法检查我的工作。错误在于这一行:x = enQ.pop();
。 enQ不是一个函数,那么它怎么会是空的?尝试使用堆栈创建队列。为什么我得到一个无效的int转换错误?
我的代码当然还没有完成。
stack<int> enQ;
stack<int> deQ;
void enQueue(int x) {
enQ.push(x);
cout << x << " has been added to the queue." << endl;
}
void deQueue() {
while (enQ.size() != 0) {
int x;
x = enQ.pop();
enQ.pop();
deQ.push(x);
cout << x << " had been pushed to DEQUEUE" << endl;
}
}
'enQ.pop'是函数,它有返回类型'void'。 –