Я написал шаблонный класс контейнера, который принимает тип и шаблон параметра шаблона.
template<class type, template<typename...> class Seq>
class stack1
{
private:
int count;
int size;
Seq<type> st;
//Seq<string> str;
public:
stack1(size_t size):size(100), count(-1){ }
void push(type elem);
type pop();
};
template<class type, template<typename...> class Seq>
type stack1<type, Seq>::pop()
{
if (count < 0)
{
cout << "stack1 is empty," << endl;
/*How to handle this condition.*/
}
else
{
type elem;
elem = st.back();
st.pop_back();
count--;
return elem;
}
}
Мой вопрос в функции pop: как мне обрабатывать сценарий ошибки, когда контейнерный объект пуст.Я хочу вернуть некоторое значение по умолчанию в этом случае, например, 0 / -1, если контейнер int или "" / null, если это строка, или 0.0, если это float ... что-то вроде этого.