# std::error_condition::error_condition

< cpp‎ | error‎ | error condition

error_condition() noexcept; | (1) | (C++11 起)
error_condition( const error_condition& other ) noexcept; | (2) | (C++11 起) (隐式声明)
error_condition( int val, const error_category& cat ) noexcept; | (3) | (C++11 起)
template< class ErrorConditionEnum > error_condition( ErrorConditionEnum e ) noexcept; | (4) | (C++11 起)

构造新的 error_condition 。

1) 默认构造函数。初始化 error_condition 为 generic_category 和错误码 ​0​ 。
2) 复制构造函数。以 `other` 的内容初始化 error_condition 。
3) 以错误码 `val` 和错误类别 `cat` 初始化 error_condition 。
4) 以枚举 `e` 初始化 error_condition 。等效于对 `e` 调用实参依赖查找所找到的 `make_error_condition` 。此重载仅若 std::is_error_condition_enum<ErrorConditionEnum>::value 为 true 才参与重载决议。

### 参数

other | - | 以之初始化的另一 error_condition
val | - | 错误码
cat | - | 错误类别
e | - | 错误条件枚举

### 注解

最初的提案 N2422 中有意使用 ADL 所找到的 `make_error_condition` ，并且已知实现均使用它。然而，标准要求只考虑 `std::make_error_condition` 重载。此为 LWG 问题 3629 。

### 参阅

make_error_condition(std::errc) (C++11) | 构造 std::errc 错误条件 (函数)
make_error_condition(std::io_errc) (C++11) | 构造一个 iostream error_condition (函数)
make_error_condition(std::future_errc) (C++11) | 构造一个 future error_condition (函数)