【问题标题】:How to receive a stack element in a function如何在函数中接收堆栈元素
【发布时间】:2017-12-06 12:59:13
【问题描述】:

我目前在 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);
}

【问题讨论】:

  • 阅读一本很好的 C++ 入门书籍。你可以在 StackOverflow 上找到一个列表
  • 我试过了,但我找不到任何东西
  • 您没有找到任何东西Here.。只需在本页顶部的搜索框中输入[c++] book 即可找到。为了回答你的问题,stack&lt;int&gt; 应该去那里

标签: c++ int stack


【解决方案1】:

我想stack &lt;int&gt; 在那里。

#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);
}

【讨论】:

    【解决方案2】:

    使用stack&lt;int&gt;。所以函数的原型将是: void juegoEnsayo(stack&lt;int&gt;&amp; 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;
    }
    

    【讨论】:

    • 好的,它工作得很好,我发现了为什么通过写 stack 不起作用的问题,我已经在 main() 下编写了函数,并且我已经将声明放在“使用命名空间标准;"我绝对是菜鸟,谢谢大家
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 2019-05-20
    • 1970-01-01
    • 2011-09-08
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多