У меня небольшие проблемы с работой следующего фрагмента кода. Я не могу написать исключение броска, поэтому я не знаю, что еще я мог сделать.
case 't': // Top of Stack
try
{
cout << "Top() -- " << sPtr->Top() << endl; //this should run if the stack is not empty.
}
catch (StackEmpty)
{
cout << "Top() -- Failed Empty Stack" << endl; // this should run if the stack is empty.
}
break;
sPtr указывает на функцию Top () в имени класса. Вот стек, код этой функции:
int Stack::Top() const // Returns value of top integer on stack WITHOUT modifying the stack
{ cout << "*Top Start" << endl;
if(!IsEmpty())
return topPtr->data;
cout << "*Top End" << endl;
}
если я удаляю оператор if, это вызывает проблему с ошибкой сегментации.