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 回答