存储模板功能稍后调用

时间:2012-08-24 20:08:27

标签: c++ templates visual-c++ c++11

我正在开发一个项目,我必须根据某些条件确定是否必须调用用户提供的函数。问题是提供的功能可以有任何签名。是否有可能使用当前的c ++ 11标准执行以下操作? (代码必须使用visual c ++ 2010进行编译):

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

1 个答案:

答案 0 :(得分:2)

这甚至可以在C ++ 03中使用,只需使用不受限制的参数:

template<class F>
void call(F f) // accept any callable entity
{
  ReturnType retval = f(arguments);
}