【发布时间】:2019-11-24 01:07:17
【问题描述】:
我将如何在变量中存储具有任意数量参数的任何类型的函数? 像这样的:
int add(int i, int j) {
return i + j;
}
template<typename Function, typename... Args>
class Class {
private:
std::function<Function(Args...)> function;
public:
Class(Function _function, Args... _args) {
Now what?
}
};
int main() {
Class test(add, 1, 2);
test.function();
}
【问题讨论】:
-
您打算如何处理上述功能集合?你打算怎么称呼他们?
-
就像我在 main 函数中演示的那样。
-
@user686368 这不是你真正想要的。我们正在尝试确定您是否真的在尝试解决此处的 XY 问题。
-
@user686368 我的意思更笼统。如果您真的只需要调用一个函数,只需编写
add(1, 2)。你应该解释你的限制。 -
这只是一个简单的例子来说明我的问题。该类将具有更多功能,而功能只是它的一个方面。