std::make_error_code(std::io_errc)
Определён в заголовочном файле <ios> | ||
|---|---|---|
std::error_code make_error_code( std::io_errc e ) noexcept; | (начиная с C++11) |
Создаёт объект std::error_code из значения типа std::io_errc так же, как если бы был вызван return std::error_code(static_cast<int>(e), std::iostream_category()).
Эта функция вызывается конструктором std::error_code с аргументом типа std::io_errc.
Параметры
| e | - | номер кода ошибки |
Возвращаемое значение
Значение типа std::error_code, содержащее номер кода ошибки из e, связанный с категорией ошибок "iostream".
Пример
#include <iostream>
#include <system_error>
int main()
{
std::error_code ec = std::make_error_code(std::io_errc::stream);
// This works because of the overloaded method
// and the is_error_code_enum specialization.
ec = std::io_errc::stream;
std::cout << "Error code from io_errc::stream has category "
<< ec.category().name() << '\n';
}
Вывод:
Error code from io_errc::stream has category iostream
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены задним числом к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение согласно опубликованной версии | Правильное поведение |
|---|---|---|---|
| LWG 2087 | C++11 |
make_error_code(io_errc) не была объявлена noexcept | объявлена как noexcept |
См. также
|
(C++11) | содержит зависящий от платформы код ошибки (класс) |
|
(C++11) | коды ошибок потоков ввода-вывода (перечисление) |
|
(C++11) | создаёт значение кода ошибки для перечисления errc e (функция) |
|
(C++11) | создаёт код ошибки future (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/io_errc/make_error_code