最終更新日時(UTC):
が更新

履歴 編集

function template
<system_error>

std::error_code::operator=(C++11)

template <class ErrorCodeEnum>
error_code& operator=(ErrorCodeEnum e) noexcept;

概要

エラー値を代入する。

要件

is_error_code_enum<ErrorCodeEnum>::value == trueであること。

falseだった場合、この関数はオーバーロード解決から除外される。

効果

*this = make_error_code(e);

戻り値

*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;
}

出力

error
22
generic

バージョン

言語

  • C++11

処理系

参照