Ошибка компилятора C2694
"переопределение": переопределение виртуальной функции имеет менее ограничивающую спецификацию исключений, чем функция виртуального члена базового класса "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
};