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) | создаёт код ошибки для объекта будущего (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/io_errc/make_error_code