std::error_code::operator=
Материал из cppreference.com
< cpp | error | error code
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) Заменяет код ошибки и соответствующую категорию на коды ошибок, представленные перечислением
Эквивалентно *this = make_error_code(e), где
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 функция-элемент) |