std::bad_variant_access
提供: cppreference.com
ヘッダ <variant> で定義 | ||
class bad_variant_access :publicstd::exception | (C++17以上) | |
std::bad_variant_access
は以下の状況で投げられる例外の型です。
- 現在アクティブな選択肢にマッチしないインデックスまたは型を指定して std::get(std::variant) が呼ばれた場合
- valueless_by_exception な variant に対して std::visit が呼ばれた場合
目次 |
[編集]メンバ関数
コンストラクタ | bad_variant_access オブジェクトを構築します (パブリックメンバ関数) |
std::bad_variant_access ::bad_variant_access()
bad_variant_access()noexcept; | ||
std::bad_variant_access
の新しいインスタンスを構築します。
引数
(なし)
std::exception から継承
メンバ関数
[仮想] | 例外オブジェクトを破棄します ( std::exception の仮想パブリックメンバ関数) |
[仮想] | 説明文字列を返します ( std::exception の仮想パブリックメンバ関数) |
[編集]例
Run this code
#include <variant>#include <iostream> int main(){std::variant<int, float> v; v =12;try{ std::get<float>(v);}catch(const std::bad_variant_access& e){std::cout<< e.what()<<'\n';}}
出力例:
bad_variant_access
[編集]関連項目
(C++17) | 指定されたインデックスまたは型 (一意な場合) の値を variant から読み込みます。 エラーの場合は例外を投げます (関数テンプレート) |
(C++17) | 1個以上の variant が保持している引数を渡して指定された関数オブジェクトを呼びます (関数テンプレート) |