std::bad_typeid - cppreference.com
De cppreference.com
| Definido en el archivo de encabezado |
||
|
|
||
Una excepción de este tipo se produce cuando un operador typeid se aplica a un valor de puntero nulo desreferenciado de un tipo polimórfico.
Inheritance diagram
Funciones miembro
Construye un objeto bad_typeid 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 S { // El tipo tiene que ser polimórfico virtual void f(); }; int main() { S* p = nullptr; try { std::cout << typeid(*p).name() << '\n'; } catch(const std::bad_typeid& e) { std::cout << e.what() << '\n'; } }
Salida:
Attempted a typeid of NULL pointer!