这是我遇到问题的一段代码:
if (stack_flag == true) {
bool hangar = false;
while (hangar == false) {
unsigned int index = s_move.top();
unsigned int edge = map[index].get_which_edge();
char current = map[index].get_char();
s_move.pop();
如果我的程序接受命令行输入,则使用堆栈容器;这就是堆栈标志。这是我循环的前几行。堆栈用一个值初始化。我遇到的问题是我需要获取堆栈顶部元素的值,并且我还需要立即将该元素从堆栈中弹出,但是 top() 函数返回对顶部值的引用。当我从参考中弹出值时,参考不再有用。是否有另一种方法可以从堆栈中获取值,同时立即将其弹出?我的错误是:s_move was not declared in this scope.