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 的虚公开成员函数) [编辑]
[虚]
返回解释性字符串
(std::exception 的虚公开成员函数) [编辑]

[编辑] 示例

#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 给定下标或类型的值(若类型唯一),错误时抛出异常
(函数模板) [编辑]
(C++17)
以一或多个 variant 所保有的参数的调用提供的函数对象
(函数模板) [编辑]