不允许使用多个模板参数列表

kar*_*kar 3 c++ templates variadic-templates

这是什么问题?

struct fbe {
    char *fbtName;
    template<typename T, typename... vT> 
    T(*funcptr)(T, vT... );
};
Run Code Online (Sandbox Code Playgroud)

在这样写的时候编译的区别是什么?

template<typename T, typename... vT>
struct fbe {
    char *fbtName;
    T(*funcptr)(T, vT... );
};
Run Code Online (Sandbox Code Playgroud)

我是使用模板功能的新手.

Bo *_*son 9

不同之处在于,在第二种情况下,您可以使用模板参数创建一组不同的结构,所有结构都具有单个函数指针成员.

在第一种情况下,您将拥有一个具有无限数量的函数指针成员的结构类型.你不能拥有它,如果没有别的,因为同一结构类型的所有对象必须具有相同的大小.