名前空間
変種
操作

std::bad_variant_access

提供: cppreference.com
< cpp‎ | utility‎ | variant
 
 
 
 
ヘッダ <variant> で定義
class bad_variant_access : public std::exception
(C++17以上)

std::bad_variant_access は以下の状況で投げられる例外の型です。

目次

[編集] メンバ関数

コンストラクタ
bad_variant_access オブジェクトを構築します
(パブリックメンバ関数)

std::bad_variant_access ::bad_variant_access()

bad_variant_access() noexcept;

std::bad_variant_access の新しいインスタンスを構築します。

引数

(なし)

std::exception から継承

メンバ関数

例外オブジェクトを破棄します
(std::exceptionの仮想パブリックメンバ関数) [edit]
[仮想]
説明文字列を返します
(std::exceptionの仮想パブリックメンバ関数) [edit]

[編集]

#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

[編集] 関連項目

指定されたインデックスまたは型 (一意な場合) の値を variant から読み込みます。 エラーの場合は例外を投げます
(関数テンプレート) [edit]
(C++17)
1個以上の variant が保持している引数を渡して指定された関数オブジェクトを呼びます
(関数テンプレート) [edit]