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); // 此操作有效是因为重载方法 // 以及 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流错误代码
(枚举) |
|
(C++11)
|
为
errc
枚举创建错误代码值
(函数) |
|
构造future错误代码
(函数) |