◐ Shell
clean mode source ↗

std::error_code::error_code — cppreference.com

Материал из cppreference.com

<tbody> </tbody>

error_code() noexcept;

(1) (начиная с C++11)

error_code( int ec, const error_category& ecat ) noexcept;

(2) (начиная с C++11)

template< class ErrorCodeEnum > error_code( ErrorCodeEnum e ) noexcept;

(3) (начиная с C++11)

error_code( const error_code& other ) = default;

(4) (начиная с C++11)
(объявлено неявно)

error_code( error_code&& other ) = default;

(5) (начиная с C++11)
(объявлено неявно)

Создаёт новый код ошибки.

1) Создаёт код ошибки со значением по умолчанию. Эквивалентно error_code(0, std::system_category()).

2) Создаёт код ошибки, используя ec в качестве кода ошибки, зависящего от платформы, и ecat в качестве соответствующей категории ошибок.

3) Создаёт код ошибки из перечисления кодов ошибок e. Эквивалентно make_error_code(e), где make_error_code находится только поиском, зависящим от аргумента. Эта перегрузка участвует в разрешении перегрузки, только если std::is_error_code_enum<ErrorCodeEnum>::value равно true.

4,5) Неявно определённый конструктор копирования и конструктор перемещения. Инициализирует код ошибки содержимым other.

Параметры

other другой код ошибки для инициализации
ec код ошибки, зависящий от платформы
ecat категория ошибки, соответствующая ec
e перечисление кодов ошибок

Отчёты о дефектах

Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:

Номер Применён Поведение в стандарте Корректное поведение
LWG 3629 C++11 использовались только перегрузки std::make_error_code используются перегрузки, найденные через ADL

Смотрите также