如何使用可变参数模板在类中定义类型?

时间:2013-01-17 12:57:59

标签: c++ c++11 variadic-templates

我希望能够在类中输入一个类型 f 作为一个std :: function,它接受一些参数,其数量和类型取决于模板的参数。上课,像这样:

#include <functional>

template <typename ... Args>
class SomeClass
{
    typedef std::function<void(Args)> f;
};

然而,这不起作用。带有-std = c ++ 0x的g ++用“错误:参数包未用'...'扩展。

我试图围绕一堆新的C ++ 11特性,我很可能错过了一个非常明显的解决方案。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

错误消息告诉您确切的错误以及如何解决它...添加省略号:

typedef std::function<void(Args...)> f;