【发布时间】:2015-06-21 20:26:03
【问题描述】:
我有一个带有模板参数的函数,它接受另一个函数。在该函数中,我想调用一个不同的模板函数,该函数需要使用函数参数的返回类型进行实例化。
由于我可能把最后一段搞砸了,让我试着用一个例子来澄清一下:
template <typename funT>
void foo(funT function_to_call)
{
auto data = bar<funT::return_value>();
/// do some stuff with data.
/// call function_to_call, but bar needed to be called first.
}
如何获得 funT::return_value ?
非常感谢,
【问题讨论】:
-
问题一直是市场上一个不相关的复制品,不是吗?
-
是的,据我所知,答案与我的问题无关,除了它们都与 C++ 模板有关。
-
不管怎样,只要
funT不带任何参数,你就可以使用std::result_of<funT()>::type访问返回类型。