Рассмотрим следующий код:
class A
{
public:
virtual void f() throw ( int ) { }
};
class B: public A
{
public:
void f() throw ( int, double ) { }
};
При компиляции он говорит, что производный класс B имеет более слабый спецификатор броска по сравнению с A. В чем важность этого?Если мы попытаемся обменять их спецификацию исключений, такую, что A :: f () выдает int и double, а B :: f () выдает только int, ошибка не появляется.