- system_error[meta header]
- std[meta namespace]
- error_code[meta class]
- function template[meta id-type]
- cpp11[meta cpp]
template <class ErrorCodeEnum>
error_code& operator=(ErrorCodeEnum e) noexcept;
エラー値を代入する。
is_error_code_enum
<ErrorCodeEnum>::value == true
であること。
false
だった場合、この関数はオーバーロード解決から除外される。
*this = make_error_code(e);
- make_error_code[link ../make_error_code.md]
*this
投げない
#include <iostream>
#include <system_error>
namespace std {
template <>
struct is_error_code_enum<std::errc> : std::true_type {};
}
int main()
{
std::error_code ec;
ec = std::errc::invalid_argument;
if (ec) {
std::cout << "error" << std::endl;
}
else {
std::cout << "success" << std::endl;
}
std::cout << ec.value() << std::endl;
std::cout << ec.category().name() << std::endl;
}
- is_error_code_enum[link /reference/system_error/is_error_code_enum.md]
- std::errc[link /reference/system_error/errc.md]
- std::errc::invalid_argument[link /reference/system_error/errc.md]
- ec.value()[link value.md]
- ec.category()[link category.md]
- name()[link /reference/system_error/error_category/name.md]
error
22
generic
- C++11
- Clang: ??
- GCC: 4.6.1 [mark verified]
- ICC: ??
- Visual C++: