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/w/cpp/error/error_code/operator%3D