std::error_code::operator=
template< class ErrorCodeEnum > error_code& operator=( ErrorCodeEnum e ) noexcept; | (1) | (с C++11) |
error_code& operator=( const error_code& other ) = default; | (2) | (с C++11) (неявно объявлен) |
error_code& operator=( error_code&& other ) = default; | (3) | (с C++11) (неявно объявлен) |
1) Заменяет код ошибки и соответствующую категорию на те, которые представляют перечисление кодов ошибок
e. Эквивалентно *this = make_error_code(e), где make_error_code находится только с помощью поиска, зависящего от аргументов. Эта перегрузка участвует в разрешении перегрузки только в том случае, если std::is_error_code_enum<ErrorCodeEnum>::value является true.
2,3) Неявно определённые оператор копирующего присваивания и оператор перемещающего присваивания присваивают содержимое
other объекту *this.Параметры
| e | - | перечисление кодов ошибок для создания |
| other | - | другой код ошибки, который нужно присвоить |
Возвращаемое значение
*this
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющих поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Опубликованное поведение | Корректное поведение |
|---|---|---|---|
| LWG 3629 | C++11 | использовались только перегрузки std::make_error_code | используются перегрузки, найденные с помощью ADL |
См. также
| присваивает другой код ошибки (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/error/error_code/operator%3D