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