std::bad_variant_access (3) Linux Manual Page
std::bad_variant_access – std::bad_variant_access
Synopsis
Defined in header <variant>
class bad_variant_access : public std::exception (since C++17)
std::bad_variant_access is the type of the exception thrown in the following situations:
* std::get(std::variant) called with an index or type that does not match the currently active alternative
* std::visit called to visit a variant that is valueless_by_exception
Member functions
constructor (public member function)
std::bad_variant_access ::bad_variant_access()
bad_variant_access() noexcept;
Constructs a new instance of std::bad_variant_access.
Parameters
(none)
Inherited from std::exception
Member functions
destructor destroys the exception object
[virtual]
what returns an explanatory string
[virtual]
Example
// 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';
}
}
Possible output:
See also
std::get(std::variant) reads the value of the variant given the index or the type (if the type is unique), throws on error
(C++17)
visit calls the provided functor with the arguments held by one or more variants
(C++17)
