2017-07-03 12 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

あなたは何も見つかりませんでした*? [** Here。**](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

OK、それはうまくいきます、なぜ私は問題を見つけましたか?はスタックしていませんでした。宣言を "using namespace std;"に置きます。私は間違いなくnoobです、ありがとう皆さん –

関連する問題