std::bad_cast - cppreference.com
De cppreference.com
| Definido en el archivo de encabezado |
||
|
|
||
Una excepción de este tipo se produce cuando un dynamic_cast a un tipo de referencia no pasa la comprobación en tiempo de ejecución (por ejemplo, porque los tipos no están relacionados por herencia).
Inheritance diagram
Funciones miembro
Construye un objeto bad_cast nuevo. (función miembro pública) |
Heredado de std::exception
Funciones miembro
| Destruye el objeto excepción. (función miembro virtual pública de std::exception) [editar]
| |
| Devuelve una cadena aclaratoria. (función miembro virtual pública de std::exception) [editar]
|
Ejemplo
#include <iostream> #include <typeinfo> struct Foo { virtual void f() {} }; struct Bar { virtual void f() {} }; int main() { Bar b; try { Foo& f = dynamic_cast<Foo&>(b); } catch(const std::bad_cast& e) { std::cout << e.what() << '\n'; } }
Salida: