- expected[meta header]
- function[meta id-type]
- std[meta namespace]
- bad_expected_access[meta class]
- cpp23[meta cpp]
explicit bad_expected_access(E e); // (1) C++23
constexpr explicit bad_expected_access(E e); // (1) C++26
bad_expected_access(const bad_expected_access&); // (2) C++23
constexpr bad_expected_access(const bad_expected_access&); // (2) C++26
bad_expected_access(bad_expected_access&&); // (3) C++23
constexpr bad_expected_access(bad_expected_access&&); // (3) C++26
- bad_expected_access[link ../bad_expected_access.md]
- (1) : エラー値を
std::move
(e)
で初期化する。 - (2) : コピーコンストラクタ。
- (3) : ムーブコンストラクタ。
#include <cassert>
#include <expected>
int main()
{
std::bad_expected_access<int> ex{42};
assert(ex.error() == 42);
}
- std::bad_expected_access[color ff0000]
- error()[link error.md]
- C++23
- Clang: 16.0 [mark verified]
- GCC: 12.1 [mark verified]
- ICC: ??
- Visual C++: ??
- P0323R12 std::expected
- P3378R2
constexpr
exception types- C++26で
constexpr
対応した
- C++26で