std::make_error_code(std::io_errc)
来自cppreference.com
在标头 <ios> 定义 | ||
std::error_code make_error_code(std::io_errc e )noexcept; | (C++11 起) | |
从 std::io_errc 类型的值构造一个 std::error_code 对象,如同通过 returnstd::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';}
输出:
来自 io_errc::stream 的错误码具有类别 iostream
[编辑]缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 2087 | C++11 | make_error_code(io_errc) 未声明为 noexcept | 声明为 noexcept |
[编辑]参阅
(C++11) | 保有依赖于平台的错误码 (类) |
(C++11) | 输入/输出流的错误码 (枚举) |
(C++11) | 为 errc 枚举 e 创建错误码值 (函数) |
构造一个未来体错误码 (函数) |