最終更新日時:
が更新

履歴 編集

class
<functional>

std::bad_function_call(C++11)

namespace std {
  class bad_function_call : public exception;
}

概要

std::bad_functionは、空のstd::functionオブジェクトに対してoperator()を呼び出した際に送出される例外クラスである。

注意: 空のstd::functionオブジェクトに対してstd::bind()を呼び出した結果をstd::functionオブジェクトに格納しても空にはならないが、実際にoperator()を呼ぶとstd::bad_function_call例外が送出される。

#include <iostream>
#include <functional>

int main()
{
  std::function<void()> f;

  try {
    f();
  }
  catch (std::bad_function_call& e) {
    std::cout << "bad function call" << std::endl;
  }
}

出力

bad function call

バージョン

言語

  • C++11

処理系

参照