コンパイラ エラー C2694
'override': 仮想関数のオーバーライドは、基底クラス仮想メンバー関数 'base' よりも制限が少ない例外指定を含んでいます。
仮想関数はオーバーライドされましたが、/Za では、オーバーライドする関数の制限が少ない例外仕様となっていました。
次の例では C2694 が生成されます。
// C2694.cpp
// compile with: /Za /c
class MyBase {
public:
virtual void f(void) throw(int) {
}
};
class Derived : public MyBase {
public:
void f(void) throw(...) {} // C2694
void f2(void) throw(int) {} // OK
};