我的堆栈程序运行时错误

时间:2011-09-14 16:12:59

标签: c++ runtime stack

我在运行时遇到错误。它崩溃了,消息是“断言失败:stackTop!= 0”。这不应该是这种情况,因为我将数组的值推入堆栈,因此它应该正常工作。

我将.h和.cpp文件放在a pastebin post中;希望有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

exchangeStation弹出station1中的所有元素,以便它结束为空。

这就是为什么你的堆栈是空的,因此当你试图在top()的递归调用中调用exchangeStation时你的断言失败。

事实上,在我看来,如果不是断言失败,这将是无限递归,因为你从不采取任何措施来阻止它。说实话,整个功能很难理解,看起来有点过分。但是,堆栈实现本身并不错。