2

私は以下のコードを持っています:

#include<iostream>
#include <vector>
using namespace std;
template<class T>
class Stack
{
private:
    vector<T> stack;

public:
    T Pop()
    {
        if (stack.size()!=0)
        {
            T temp;
            temp=stack[stack.size()-1];
            stack.erase(stack.begin()+stack.size()-1);
            return temp;
        }
        else
                   //return nothing
                   ^^^^^^^^^^^^^^^^
                   //How i can do above by code    
    }

ポップ関数で: if stack.size==0;が欲しい。ポップ関数は何も返さない

どうすればそれができますか?

4

5 に答える 5

1

また、pop メソッドを void として宣言するか、bool として操作のステータスを取得し、結果を格納するために参照によって T 型を引数として渡すようなこともできます。

bool Pop (T& item)
{
    if (stack.size() != 0)
       {
           // your code
           item = temp; // you can even use item instead of temp from the begining

           return true;
       }
    return false;
}
于 2013-04-14T07:08:24.967 に答える