Libreria C ++ Type_info - bad_typeid

Descrizione

Genera un'eccezione su typeid di null point.

Dichiarazione

La seguente è la dichiarazione per std :: bad_typeid.

C ++ 98

class bad_typeid;

C ++ 11

class bad_typeid;

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_typeid.

#include <iostream>
#include <typeinfo>
 
struct S {
   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';
   }
}

L'output dovrebbe essere così -

Attempted a typeid of NULL pointer!