这里有什么问题?
struct fbe {
char *fbtName;
template<typename T, typename... vT>
T(*funcptr)(T, vT... );
};
在写这样的时候编译它会有什么不同?
template<typename T, typename... vT>
struct fbe {
char *fbtName;
T(*funcptr)(T, vT... );
};
我是使用模板功能的新手。
答案 0 :(得分:9)
不同之处在于,在第二种情况下,您可以使用模板参数创建一组不同的结构,所有结构都具有单个函数指针成员。
在第一种情况下,您将拥有一个具有无限数量的函数指针成员的结构类型。你不能拥有它,如果没有别的,因为同一结构类型的所有对象必须具有相同的大小。