2017-07-03 47 views
-5

我目前使用的C堆棧庫+ +,但我不知道如何接收數字堆在一個函數..例子---->如何接收堆棧元素在功能

int main 
{ 
    stack <int> pila1; 
    juegoEnsayo(pila1); 
} 

void juegoEnsayo(/*What is supposed to be here???*/ &unaPila) 
{ 
    unaPila.push(6); 
    unaPila.push(9); 
    unaPila.push(8); 
} 
+3

閱讀一本很好的C++入門書。你可以在StackOverflow上找到一個列表 –

+0

我試過但我找不到任何東西 –

+4

你沒有找到*任何東西*? [**這裏。**](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list?s=1|32.7215)。只需在本頁頂部的搜索框中放置'[C++] book'即可找到。並且爲了回答你的問題,'stack '應該去那裏 – WhozCraig

回答

1

我想stack <int>在那裏。

#include <stack> 

using namespace std; 

void juegoEnsayo(stack<int> &unaPila) 
{ 
    unaPila.push(6); 
    unaPila.push(9); 
    unaPila.push(8); 
} 

int main() 
{ 
    stack <int> pila1; 
    juegoEnsayo(pila1); 
} 
1

使用stack<int>。因此功能原型將爲: void juegoEnsayo(stack<int>& unaPila);

以下是工作示例。你可以找到它here

#include <stack> 
#include <iostream> 

using namespace std; 

void juegoEnsayo(stack<int>& unaPila) 
{ 
    unaPila.push(6); 
    unaPila.push(9); 
    unaPila.push(8); 
} 

template<typename T> void printElm(stack<T> mystack) 
{ 
    while (!mystack.empty()) 
    { 
     cout << mystack.top() << " | "; 
     mystack.pop(); 
    } 
} 

int main() 
{ 
    stack<int> pila1; 
    printElm(pila1); 
    cout<<endl; 
    juegoEnsayo(pila1); 
    printElm(pila1); 
    return 0; 
} 
+0

好吧,它工作正常,我發現問題爲什麼通過寫入堆棧沒有工作,我已經寫了函數在main()之下,而且我有將聲明放在「using namespace std;」我只是一個noob,謝謝大家 –