0

我希望能够将类中的类型f定义为一个 std::function ,它接受多个参数,其数量和类型取决于类的模板参数,如下所示:

#include <functional>

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

但是,这不起作用。带有 -std=c++0x 的 g++ 因“错误:参数包未使用 '...' 展开。

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

4

1 回答 1

2

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

typedef std::function<void(Args...)> f;
于 2013-01-17T13:03:17.410 回答