次のコードを検討してください。
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 のみをスローするように例外仕様を交換しようとすると、エラーは表示されません。