Namespaces
Variants

std:: make_error_code (std::io_errc)

From cppreference.net
< cpp ‎ | io ‎ | io errc
std::io_errc
Non-member functions
make_error_code (std::io_errc)
(C++11)
Helper classes
定义于头文件 <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);
    // 此操作有效是因为重载方法
    //    以及 is_error_code_enum 特化的存在
    ec = std::io_errc::stream;
    std::cout << "来自 io_errc::stream 的错误代码类别为 "
              << ec.category().name() << '\n';
}

输出:

Error code from io_errc::stream has category iostream

缺陷报告

以下行为变更缺陷报告被追溯应用于先前发布的C++标准。

缺陷报告 应用于 发布时的行为 正确行为
LWG 2087 C++11 make_error_code(io_errc) 未被声明为 noexcept 声明为 noexcept

参见

(C++11)
保存平台相关的错误代码
(类)
(C++11)
IO流错误代码
(枚举)
errc 枚举创建错误代码值
(函数)
构造future错误代码
(函数)