Я написал шаблонный контейнерный класс, который принимает тип и шаблон параметра шаблона.
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, если он плавающий... что-то в этом роде.