int getElement(stack<int> s,int i){
if(i>1){
s.pop();
getElement(s,i-1);
}
else
return s.top();
}
int main(){
stack<int> pancakes;
pancakes.push(1);
pancakes.push(2);
pancakes.push(3);
printf("%d",getElement(pancakes,2));
}
幫助!我的getElement函數返回i處的元素,其中我從堆棧的頂部值開始,值爲1.堆棧函數應該返回指定的元素,而不是返回垃圾值
當我運行getElement(2)時,它應該在堆棧上返回2: 3 - index 1, 2-索引2和 1-索引3
它打印垃圾值。假設它只接受可接受的值(索引在邊界內),錯誤處理是我稍後要做的事情。
仔細閱讀你的功能,並告訴我這是什麼回報,如果'i'不等於1 –
這並不編譯。 –