Namespaces
Variants

std::error_code::error_code

来自 zh.cppreference.net
 
 
 
 
 
error_code() noexcept;
(1) (自 C++11 起)
error_code( int ec, const error_category& ecat ) noexcept;
(2) (自 C++11 起)
template< class ErrorCodeEnum >
error_code( ErrorCodeEnum e ) noexcept;
(3) (自 C++11 起)
error_code( const error_code& other ) = default;
(4) (自 C++11 起)
(隐式声明)
error_code( error_code&& other ) = default;
(5) (自 C++11 起)
(隐式声明)

构造新的错误码。

1) 构造默认值的错误码。等价于 error_code(0, std::system_category())。
2) 构造错误码,以 ec 为平台相关错误码,以 ecat 为对应的 错误类别。
3) 从错误码枚举 e 构造错误码。等价于 make_error_code(e),其中 make_error_code 仅由 依赖于实参查找 找到。此重载仅在 std::is_error_code_enum<ErrorCodeEnum>::value 为 true 时参与重载决议。
4,5) 隐式定义的复制构造函数和移动构造函数。以 other 的内容初始化错误码。

参数

other - 用于初始化的其他错误码
ec - 用于构造的平台相关错误码
ecat - 对应于 ec 的错误类别
e - 用于构造的错误代码枚举

缺陷报告

下列行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。

问题报告 应用于 发布时的行为 正确行为
LWG 3629 C++11 仅使用了 std::make_error_code 重载 使用ADL查找的重载

参见

为 errc 枚举值 e 创建错误码
(函数)
构造输入输出流错误码
(函数)
构造 future 错误码
(函数)