我写了这段代码,它目前可以接受一个 void 回调并向它传递一个值。但是,有什么方法可以让用户能够设置多个参数?也许像 Callback Caller 之类的东西;而不是没有定义多个类型名的回调?我可以以某种方式将这一切都放入一个类型名中吗?
例如,这是我的课
template <typename T>
class Callback
{
private:
std::vector<std::function <void (T)>> func;
public:
virtual void operator += (std::function<void (T)> _func)
{
func.push_back(_func);
}
};
我这样使用它:
Callback<int> Test;
如果我只想将一个参数传递给我的函数,它就可以正常工作。但是,是否有可能让用户能够定义多个值,而无需多个类型名?
IE
Callback< <(int, int, int)> > Test;
类似的东西?