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 对象,就像使用 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) |
IO 流错误代码 (枚举) |
(C++11) |
为 errc 枚举 e 创建错误代码值(函数) |
构造一个未来错误代码 (函数) |