std::error_code::operator=
From cppreference.com
                    
                                        
                    < cpp | error | error code
                    
                                                            
                    |   template< class ErrorCodeEnum > error_code& operator=( ErrorCodeEnum e ) noexcept;  | 
(since C++11) | |
Replaces the error code and corresponding category with those representing error code enum e. 
Equivalent to *this = std::make_error_code(e). The overload participates in overload resolutions only if std::is_error_code_enum<ErrorCodeEnum>::value == true.
Parameters
| e | - | error code enum to construct | 
Return value
*this
Notes
Copy-assignment operator is defined implicitly.
See also
|    assigns another error code  (public member function)  |