所以我在最后一天左右一直在与 std::stack 库进行斗争。我正在尝试调试我的一些代码,而不是用笔和纸做事,我正在使用 eclipse 调试器。
第一个奇怪的事情是,如果我在 eclipse 表达式窗口中有一个与堆栈相关的表达式,程序将在我启动它时立即死亡。
另一件事是,它第一次运行时,调试器看到堆栈正常。我可以通过表达式窗口检查它的元素。但是,一旦我将某些东西压入堆栈,stack.top() 方法就开始在表达式窗口中返回错误。然后,如果我尝试执行程序,它就会死掉。这不是在没有调试器的情况下运行时的行为,所以我真的很茫然。
这是问题代码:
我需要做的就是点击 step over,Eclipse 从 stl_deque.h 文件打开一个窗口,然后我点击 step return,它就死了。
int main() {
std::stack<Cell> path;
return 0;
}