- expected[meta header]
- std[meta namespace]
- unexpected[meta class]
- cpp23[meta cpp]
namespace std {
template<class E>
unexpected(E) -> unexpected<E>;
}std::unexpectedクラステンプレートの型推論補助。
#include <cassert>
#include <concepts>
#include <expected>
int main()
{
std::unexpected x{1};
assert(x.error() == 1);
static_assert(std::same_as<decltype(x), std::unexpected<int>>);
}- error()[link error.md]
- std::unexpected[link ../unexpected.md]
- C++23
- Clang: 16.0 [mark verified]
- GCC: 12.1 [mark verified]
- ICC: ??
- Visual C++: ??