std::error_code::error_code
来自cppreference.com
                    
                                        
                    < cpp | error | error code
                    
                                                            
                    |   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()) 。
3) 从错误码枚举 
e 构造 error_code 。等价于 make_error_code(e) ,其中 make_error_code 仅由实参依赖查找找到。此重载只有在std::is_error_code_enum<ErrorCodeEnum>::value 为 true 时才会参与重载决议。4,5) 隐式定义的复制构造函数与移动构造函数。以 
other 的内容初始化错误码。参数
| other | - | 用以初始化的另一错误码 | 
| ec | - | 用以构造的平台依赖的错误码 | 
| ecat | - |   对应 ec 的 error_category
 | 
| e | - | 用以构造的错误码枚举 | 
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| 缺陷报告 | 应用于 | 出版时的行为 | 正确行为 | 
|---|---|---|---|
| LWG 3629 | C++11 |  仅使用 std::make_error_code 重载
 | 
使用 ADL 所找到的重载 | 
参阅
|    (C++11)  | 
   构造 std::errc 错误码  (函数)  | 
|    构造一个 iostream 错误码  (函数)  | |
|    构造一个 future error_code  (函数)  |