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


另見