Libreria C ++ Type_info - bad_cast
Descrizione
Genera un'eccezione in caso di errore nel cast dinamico.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: bad_cast.
C ++ 98
class bad_cast;
C ++ 11
class bad_cast;
Parametri
nessuna
Valore di ritorno
nessuna
Eccezioni
No-throw guarantee - questa funzione membro non genera mai eccezioni.
Gare di dati
L'oggetto locale viene modificato.
Esempio
Nell'esempio seguente per std :: bad_cast.
#include <iostream>
#include <typeinfo>
struct Foo { virtual ~Foo() {} };
struct Bar { virtual ~Bar() {} };
int main() {
Bar b;
try {
Foo& f = dynamic_cast<Foo&>(b);
} catch(const std::bad_cast& e) {
std::cout << e.what() << '\n';
}
}
L'output dovrebbe essere così -
std::bad_cast