Advertencia del compilador (nivel 4) C4673
si se produce "identifier", los tipos siguientes no se considerarán en el bloque catch
No se puede controlar un objeto throw en el bloque catch
. Cada tipo que no se puede controlar se enumera en la salida de error inmediatamente después de la línea que contiene esta advertencia. Cada tipo no controlado tiene su propia advertencia. Para más información, lea la advertencia para cada tipo específico.
El ejemplo siguiente genera la advertencia 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(...) {}
}