std::bad_cast
提供: cppreference.com
C++
言語 | ||||
標準ライブラリヘッダ | ||||
フリースタンディング処理系とホスト処理系 | ||||
名前付き要件 | ||||
言語サポートライブラリ | ||||
コンセプトライブラリ(C++20) | ||||
診断ライブラリ | ||||
ユーティリティライブラリ | ||||
文字列ライブラリ | ||||
コンテナライブラリ | ||||
イテレータライブラリ | ||||
範囲ライブラリ(C++20) | ||||
アルゴリズムライブラリ | ||||
数値演算ライブラリ | ||||
ローカライゼーションライブラリ | ||||
入出力ライブラリ | ||||
ファイルシステムライブラリ(C++17) | ||||
正規表現ライブラリ(C++11) | ||||
アトミック操作ライブラリ(C++11) | ||||
スレッドサポートライブラリ(C++11) | ||||
技術仕様書 |
ユーティリティライブラリ
|
型サポート
基本的な型 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
基本型 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
固定幅の整数型(C++11) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
数値の限界 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C の数値限界インタフェース | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
実行時型情報 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
型特性 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
型カテゴリ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11) |
型の性質 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
型特性定数 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11)(C++17)(C++11)(C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
メタ関数 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定数評価文脈 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++20) |
サポートされている操作 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11)(C++11)(C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11)(C++11)(C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11)(C++11)(C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11)(C++11)(C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11)(C++11)(C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11)(C++11)(C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11)(C++11)(C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++17)(C++17)(C++17)(C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
関係と性質の問い合わせ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
型変更 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
型変換 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
std::bad_cast
ヘッダ <typeinfo> で定義 | ||
class bad_cast :publicstd::exception; | ||
参照型の dynamic_cast で実行時型チェックに失敗 (指定された型が継承関係にないなど) したとき、この型の例外が投げられます。 また、要求されたファセットがロケールに存在しない場合も、 std::use_facet によって投げられます。
目次 |
[編集]メンバ関数
新しい bad_cast オブジェクトを構築します (パブリックメンバ関数) |
std::exception から継承
メンバ関数
[仮想] | 例外オブジェクトを破棄します ( std::exception の仮想パブリックメンバ関数)[edit] |
[仮想] | 説明文字列を返します ( std::exception の仮想パブリックメンバ関数)[edit] |
[編集]例
Run this code
#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';}}
出力例:
Bad dynamic cast