命名空间
变体
操作

std::make_error_code(std::io_errc)

来自 cppreference.com
< cpp‎ | io‎ | io errc
在头文件 <ios> 中定义
std::error_code make_error_code( std::io_errc e ) noexcept;
(自 C++11 起)

从类型为 std::io_errc 的值构造 std::error_code 对象,就像使用 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)
IO 流错误代码
(枚举) [编辑]
errc 枚举 e 创建错误代码值
(函数) [编辑]
构造一个未来错误代码
(函数) [编辑]