【发布时间】:2017-01-30 14:50:57
【问题描述】:
我试图在不直接知道返回类型的情况下声明一个 std 函数。
显然,它会在编译时知道,但我找不到正确的方法来声明它。
最重要的是,我需要创建一个容器,该容器将包含此函数返回的值。
template <typename... Args>
class Sample
{
public:
Sample(Args... args, std::function</*unknown return type*/(Args...)> fnct) :
_inputBuff(std::forward_as_tuple(std::forward<Args>(args)...))
{ }
std::tuple<Args...> _inputBuff;
std::vector</*unknown return type*/> _resultBuff;
};
有什么想法吗?
【问题讨论】:
-
何时知道,如何知道?
-
@LightnessRacesinOrbit 我正在尝试找到一种优雅的方式来做到这一点,但是,是的,这是一个选择。
-
@Wimps:看起来很简单的问题,不是吗?
-
@Jarod42 我什么时候调用构造函数
-
@Wimps:这没有任何意义。您调用 type 的构造函数。在定义类型之前,您没有类型。因此,您不能基于类型的构造函数调用来定义类型。
标签: c++ std-function