std::error_code::error_code

来自cppreference.com
< cpp‎ | error‎ | error code
 
 
工具库
通用工具
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)
(C++20)
swap 与类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
初等字符串转换
(C++17)
(C++17)
 
 
 
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 构造 error_code 。等价于 make_error_code(e) ,其中 make_error_code 仅由实参依赖查找找到。此重载只有在std::is_error_code_enum<ErrorCodeEnum>::valuetrue 时才会参与重载决议。
4,5) 隐式定义的复制构造函数与移动构造函数。以 other 的内容初始化错误码。

参数

other - 用以初始化的另一错误码
ec - 用以构造的平台依赖的错误码
ecat - 对应 ec 的 error_category
e - 用以构造的错误码枚举

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 3629 C++11 仅使用 std::make_error_code 重载 使用 ADL 所找到的重载

参阅

构造 std::errc 错误码
(函数)
构造一个 iostream 错误码
(函数)
构造一个 future error_code
(函数)