Namespaces
Variants

std::error_code:: error_code

From cppreference.net
Utilities library
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 错误码
(函数)