在线文档教程
C++
输入/输出 | Input/output

std::is_error_code_enum<std::io_errc>

STD::是[医]误差[医]代码[医]enum<std::io[医]ERRC>

Defined in header
template< > struct is_error_code_enum<std::io_errc> : public std::true_type { };(since C++11)

这种专业化std::is_error_code_enum通知其他库组件类型的值。std::io_errc是保存错误代码的枚举,这使得它们隐式可转换并可分配给类型对象。std::error_code...

继承自STD:积分[医]常量

成员常数

value statictrue (public static member constant)

成员函数

operator boolconverts the object to bool, returns value (public member function)
operator() (C++14)returns value (public member function)

成员类型

TypeDefinition
value_typebool
typestd::integral_constant<bool, value>

比较e.code()和std::io_errc::stream编译是因为std::is_error_code_enum<std::io_errc>::value==true...

二次

#include <iostream> #include <fstream> int main() { std::ifstream f("doesn't exist" try { f.exceptions(f.failbit } catch (const std::ios_base::failure& e) { std::cout << "Caught an ios_base::failure.\n"; if(e.code() == std::io_errc::stream) std::cout << "The error code is std::io_errc::stream\n"; } }

二次

产出:

二次

Caught an ios_base::failure. The error code is std::io_errc::stream

二次

另见

is_error_code_enum (C++11)identifies a class as an error_code enumeration (class template)
error_code (C++11)holds a platform-dependent error code (class)
io_errc (C++11)the IO stream error codes (enum)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/io/io[医]ERRC/IS[医]误差[医]代码[医]枚举