Namespaces
Variants

std::bad_expected_access

С сайта ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы проверки возможностей библиотеки (C++20)
Утилиты программ
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Реляционные операторы (устарело в C++20)
 
 
Определён в заголовке <expected>
template< class E >
class bad_expected_access : public std::bad_expected_access<void>
(1) (начиная с C++23)
template<>
class bad_expected_access<void> : public std::exception
(2) (начиная с C++23)
1) Определяет тип объекта, выбрасываемого std::expected::value при обращении к объекту expected, содержащему неожиданное значение. bad_expected_access<E> хранит копию неожиданного значения.
2) bad_expected_access<void> Базовый класс для всех остальных специализаций bad_expected_access.

Члены основного шаблона

(constructor)
создает объект bad_expected_access
(публичная функция-член)
error
возвращает сохраненное значение
(публичная функция-член)
what
возвращает поясняющую строку
(публичная функция-член)

std::bad_expected_access:: bad_expected_access

explicit bad_expected_access ( E e ) ;
(начиная с C++23)
(constexpr начиная с C++26)

Создает новый объект bad_expected_access<E> . Инициализирует хранимое значение с помощью std::move(e) .

std::bad_expected_access:: error

const E & error ( ) const & noexcept ;
(1) (since C++23)
(constexpr since C++26)
E & error ( ) & noexcept ;
(2) (since C++23)
(constexpr since C++26)
const E && error ( ) const && noexcept ;
(3) (since C++23)
(constexpr since C++26)
E && error ( ) && noexcept ;
(4) (since C++23)
(constexpr since C++26)

Возвращает ссылку на хранимое значение.

std::bad_expected_access:: what

const char * what ( ) const noexcept override ;
(начиная с C++23)
(constexpr начиная с C++26)

Возвращает пояснительную строку.

Параметры

(нет)

Возвращаемое значение

Указатель на строку с нулевым завершителем, содержащую пояснительную информацию. Строка подходит для преобразования и отображения как std::wstring . Гарантируется, что указатель остается действительным по крайней мере до тех пор, пока не будет уничтожен объект исключения, из которого он получен, или пока не будет вызвана неконстантная функция-член (например, оператор присваивания копированием) для объекта исключения.

Возвращаемая строка кодируется с использованием обычной кодировки литералов во время константной оценки.

(начиная с C++26)

Примечания

Реализациям разрешено, но не требуется, переопределять what() .

Члены специализации bad_expected_access < void >

(конструктор)
создаёт объект bad_expected_access < void >
(защищённая функция-член)
(деструктор)
уничтожает объект bad_expected_access < void >
(защищённая функция-член)
operator=
заменяет объект bad_expected_access < void >
(защищённая функция-член)
what
возвращает поясняющую строку
(публичная функция-член)

Специальные функции-члены bad_expected_access < void > защищены. Они могут быть вызваны только производными классами.

Пример