std::error_code::error_code
From cppreference.com
                    
                                        
                    < cpp | error | error code
                    
                                                            
                    |   error_code() noexcept;  | 
(1) | (since C++11) | 
|   error_code( int ec, const error_category& ecat ) noexcept;  | 
(2) | (since C++11) | 
|   template< class ErrorCodeEnum > error_code( ErrorCodeEnum e ) noexcept;  | 
(3) | (since C++11) | 
Constructs new error code.
1) Constructs error code with default value. Equivalent to error_code(0, std::system_category()).
2) Constructs error code with 
ec as the platform-dependent error code and ecat as the corresponding error category.3) Constructs error code from an error code enum 
e. Equivalent to *this = make_error_code(e). The overload participates in overload resolutions only if std::is_error_code_enum<ErrorCodeEnum>::value == true.Parameters
| ec | - | platform dependent error code to construct with | 
| ecat | - |   error category corresponding to ec
 | 
| e | - | error code enum to construct with | 
See also
|    (C++11)  | 
   constructs an std::errc error code  (function)  | 
|    constructs an iostream error code  (function)  | |
|    constructs a future error code  (function)  |