Bibliothèque C ++ Type_info - bad_cast

La description

Il lève une exception en cas d'échec de la diffusion dynamique.

Déclaration

Voici la déclaration pour std :: bad_cast.

C ++ 98

class bad_cast;

C ++ 11

class bad_cast;

Paramètres

aucun

Valeur de retour

aucun

Des exceptions

No-throw guarantee - cette fonction membre ne lève jamais d'exceptions.

Courses de données

L'objet locale est modifié.

Exemple

Dans l'exemple ci-dessous pour 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&&gt;(b);
   } catch(const std::bad_cast& e) {
      std::cout << e.what() << '\n';
   }
}

La sortie devrait être comme ça -

std::bad_cast