所以我现在已经习惯了将模板函数指针存储在地图容器中,主要是作为一种模板化函数的方法,该函数返回模板化对象的新实例,并将该函数指针存储在地图中,以便在给定相应的字符串索引时调用(那是一口)。我的问题在于使用模板函数指针。这似乎可行的唯一原因是因为返回类型或参数都不是模板参数类型。它看起来像这样:
template<class T>
base * createT() {return new T;}
其中 T 应该是从 base 派生的类。现在我可以制作一个可以正常工作的函数指针
base*(*funcptr)() = &createT<derived>;
但假设我想设置这样的东西:
template <class returnType, class T>
returnType * createT() { return new T;}
这个函数的函数指针声明是什么样的?