A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/algorithm/../ranges/../utility/variant/bad_variant_access.html below:

std::bad_variant_access - cppreference.com

std::bad_variant_access is the type of the exception thrown in the following situations:

All member functions of std::bad_variant_access are constexpr: it is possible to create and use std::bad_variant_access objects in the evaluation of a constant expression.

However, std::bad_variant_access objects generally cannot be constexpr, because any dynamically allocated storage must be released in the same evaluation of constant expression.

(since C++26) [edit] Member functions constructs a new bad_variant_access object
(public member function) replaces the bad_variant_access object
(public member function) returns the explanatory string
(public member function) std::bad_variant_access::bad_variant_access

bad_variant_access() noexcept;

(1) (since C++17)
(constexpr since C++26)

bad_variant_access( const bad_variant_access& other ) noexcept;

(2) (since C++17)
(constexpr since C++26)

Constructs a new bad_variant_access object with an implementation-defined null-terminated byte string which is accessible through what().

1) Default constructor.

2)

Copy constructor. If

*this

and

other

both have dynamic type

std::bad_variant_access

then

std::strcmp(what(), other.what()) == 0

.

Parameters other - another exception object to copy std::bad_variant_access::operator=

bad_variant_access& operator=( const bad_variant_access& other ) noexcept;

(since C++17)
(constexpr since C++26)

Assigns the contents with those of other. If *this and other both have dynamic type std::bad_variant_access then std::strcmp(what(), other.what()) == 0 after assignment.

Parameters other - another exception object to assign with Return value

*this

std::bad_variant_access::what

virtual const char* what() const noexcept;

(since C++17)
(constexpr since C++26)

Returns the explanatory string.

Return value

Pointer to an implementation-defined null-terminated string with explanatory information. The string is suitable for conversion and display as a std::wstring. The pointer is guaranteed to be valid at least until the exception object from which it is obtained is destroyed, or until a non-const member function (e.g. copy assignment operator) on the exception object is called.

The returned string is encoded with the ordinary literal encoding during constant evaluation.

(since C++26) Notes

Implementations are allowed but not required to override what().

Inherited from std::exception Member functions destroys the exception object
(virtual public member function of std::exception) [edit] returns an explanatory string
(virtual public member function of std::exception) [edit] [edit] Notes [edit] Example
#include <iostream>
#include <variant>
 
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:

[edit] See also reads the value of the variant given the index or the type (if the type is unique), throws on error
(function template) [edit] calls the provided functor with the arguments held by one or more variants
(function template) [edit] calls the provided functor with the argument held by the variant
(public member function) [edit] exception indicating checked access to an optional that doesn't contain a value
(class) [edit] exception indicating checked access to an expected that contains an unexpected value
(class template) [edit]

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4