public member function
<system_error>

std::error_code::error_code

(1)
error_code() noexcept;
(2)
error_code (int val, const error_category& cat) noexcept;
(3)
template <class ErrorCodeEnum>  error_code (ErrorCodeEnum e) noexcept;
构造 error_code
构造一个 error_code 对象
默认构造函数 (1)
具有 system_category 的值为 0 的错误代码(通常表示没有错误)。
初始化构造函数 (2)
具有 val 值的错误代码,其类别由 cat 指定。
从错误代码枚举类型构造 (3)
调用 make_error_code 来构造错误代码。
只有当 is_error_code_enum<ErrorCodeEnum>::valuetrue 时,此构造函数才参与重载解析。

参数

val
一个用于标识错误码的数值。
cat
error_category 对象的引用。
e
枚举类型的错误代码枚举值,该枚举类型的 is_error_code_enum 具有 value 成员,其值为 true

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// error_code constructors
#include <iostream>       // std::cout
#include <cmath>          // std::sqrt
#include <cerrno>         // errno
#include <system_error>   // std::error_code, std::generic_category
                          // std::error_condition
int main()
{
  errno=0;
  std::sqrt(-1.0);        // errno set to EDOM
  std::error_code ec (errno,std::generic_category());

  std::error_condition ok;
  if (ec != ok) std::cout << "Error: " << ec.message() << '\n';

  return 0;
}

可能的输出 (cout)
Error: Domain error


另见