コンパイラの警告 (レベル 4) C4673
'identifier' のスロー。次の型はキャッチ側では評価されません
throw オブジェクトは catch
ブロックで処理できません。 処理できない各型は、エラー出力の、この警告を含む行の直後に一覧表示されます。 処理されなかった各型には、独自の警告が表示されます。 詳細については、特定の型のそれぞれの警告を参照してください。
次のサンプルでは C4673 が生成されます。
// C4673.cpp
// compile with: /EHsc /W4
class Base {
private:
char * m_chr;
public:
Base() {
m_chr = 0;
}
~Base() {
if(m_chr)
delete m_chr;
}
};
class Derv : private Base {
public:
Derv() {}
~Derv() {}
};
int main() {
try {
Derv D1;
// delete previous line, uncomment the next line to resolve
// Base D1;
throw D1; // C4673
}
catch(...) {}
}