這裏是一塊我有故障碼:麻煩與STL堆疊和頂部()函數
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.
s_move未在此範圍內聲明意味着它說:您沒有一個名爲's_move'的堆棧或其他任何可以訪問此代碼的東西。這可能是一個簡單的錯字,或者它可能意味着你試圖從一個完全不同的函數訪問一個局部變量,或者這可能意味着你忘記了#include東西,或者......但不管它是什麼,其他所有東西在你解決這個問題之前是無關緊要的。 – abarnert
s_move在比循環更廣泛的範圍內聲明,我也擁有所有的包含。也沒有錯別字。我的代碼的其餘部分也使用s_move,沒有錯誤 – user2817389
嗯,這個問題顯然涉及你向我們展示的代碼之外的代碼,如果你沒有顯示代碼,沒有人可以爲你進行調試。 – abarnert