std::bad_cast
Da cppreference.com
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Definido no cabeçalho <typeinfo> | ||
class bad_cast :publicstd::exception; | ||
Uma exceção deste tipo é acionada quando um dynamic_cast a um tipo de referência falhar a verificação em tempo de execução (por exemplo, porque os tipos não estão relacionadas por herança).
Original:
An exception of this type is thrown when a dynamic_cast to a reference type fails the run-time check (e.g. because the types are not related by inheritance).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Índice |
[editar]Funções de membro
constrói um objeto bad_cast novo Original: constructs a new bad_cast object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) |
Herdado de std::exception
Member functions
[virtual] | destrói o objeto de exceção Original: destructs the exception object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (of std::exception função pública virtual membro) |
[virtual] | retorna uma cadeia explicativa Original: returns an explanatory string The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (of std::exception função pública virtual membro) |
[editar]Exemplo
#include <iostream>#include <typeinfo> struct Foo {virtualvoid f(){}};struct Bar {virtualvoid f(){}}; int main(){ Bar b;try{ Foo& f =dynamic_cast<Foo&>(b);}catch(const std::bad_cast& e){std::cout<< e.what()<<'\n';}}
Saída:
Bad dynamic_cast!