0

いくつかの条件に基づいて、ユーザー提供の関数を呼び出す必要があるかどうかを判断する必要があるプロジェクトに取り組んでいます。キャッチは、提供された関数が任意の署名を持つことができるということです。現在の c++11 標準を使用して次のことを行う可能性はありますか? (コードは Visual C++ 2010 を使用してコンパイルする必要があります):

template <what do I put here?>
void functioncall(std::function<and here> f)
{
   ReturnType returnval = f(arguments);
}
4

1 に答える 1

2

これは C++03 でも可能です。制限のないパラメーターを使用するだけです。

template<class F>
void call(F f) // accept any callable entity
{
  ReturnType retval = f(arguments);
}
于 2012-08-24T20:11:34.990 に答える