Biblioteca de excepciones de C ++ - bad_cast

Descripción

Esta es una excepción lanzada en caso de falla en la transmisión dinámica.

Declaración

A continuación se muestra la declaración de std :: bad_cast.

class bad_cast;

C ++ 11

class bad_cast;

Parámetros

ninguna

Valor devuelto

ninguna

Excepciones

No-throw guarantee - ningún miembro lanza excepciones.

Ejemplo

En el siguiente ejemplo para 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 salida de muestra debería ser así:

std::bad_cast
excepción.htm