关于定义一个模板形式的函数指针类型的相关问题
关于定义一个模板形式的函数指针类型的相关问题
想写一个自己的通用排序函数,由于使用模板,
所以想把排序用的比较函数的函数指针也写成模板形式,
这里有点搞不懂了,怎么定义一个模板形式的函数指针类型?如(*)
这样以便比较时传入这个对应类型的比较函数指针。
下面这个程序就想用这个想法,但是(*)处编译不过,始终报错"模板不合法"。
请教各位朋友。
template<typename T>
typedef int (*fcmptype)(const T& t1,const T& t2);//(*)
template<typename T>
int mysort(T[] tarr,fcmptype f)
{
//.. 使用f来比较T[]内部元素大小
return 0;
}
int main(int argc, char* argv[])
{
//int[] t=new int[100];
//...
//mysort(...)
getchar();
return 0;
}