Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用可变模板在类内定义类型?_C++_C++11_Variadic Templates - Fatal编程技术网

C++ 如何使用可变模板在类内定义类型?

C++ 如何使用可变模板在类内定义类型?,c++,c++11,variadic-templates,C++,C++11,Variadic Templates,我希望能够将类中的类型f定义为一个std::函数,该函数接受许多参数,这些参数的数量和类型取决于类的模板参数,如下所示: #include <functional> template <typename ... Args> class SomeClass { typedef std::function<void(Args)> f; }; #包括 模板 上课 { typedef std::函数f; }; 然而,这是行不通的。带-std=c++0x的

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

#include <functional>

template <typename ... Args>
class SomeClass
{
    typedef std::function<void(Args)> f;
};
#包括
模板
上课
{
typedef std::函数f;
};
然而,这是行不通的。带-std=c++0x的g++退出时出现“错误:参数包未扩展为“…”


我正试图了解一系列新的C++11功能,很可能我错过了一个非常明显的解决方案。如果有任何帮助,我将不胜感激。

错误消息会准确地告诉您错误所在以及如何解决它…添加省略号:

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