受我上一个问题的启发:制作可变参数函数,该函数采用任意函子并返回输入函子的每个返回值的元组
现在,我想创建一个只执行每个可能返回 void 的函数对象的类。据我所知,我可以制作类似的东西,
class A
{
public:
template <class Func>
void operator()(Func func)
{
func();
}
template <class First, class... Funcs>
void operator()(First first, Funcs... funcs)
{
first();
operator()(funcs...);
}
};
这段代码完成了这项工作。但是,我想上面链接中Nawaz
的代码必须有更聪明的方法。mfontanini
我在下面尝试模仿他们的代码。
class A
{
public:
template <class... Func>
void operator()(Func func...)
{
func()...;
}
};
但是,gcc 4.7.2 无法编译。我在这里失踪了吗?