std::error_code::operator=
Материал из cppreference.com
<tbody>
</tbody>
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++:
| Номер | Применён | Поведение в стандарте | Корректное поведение |
|---|---|---|---|
| LWG 3629 | C++11 | использовались только перегрузки std::make_error_code
|
используются перегрузки, найденные через ADL |
Смотрите также
| присваивает другой код ошибки (public функция-элемент) |