是否有可能在c ++中有一个指向模板函数的函数指针?

Lou*_*ong 1 c++ templates

我想知道是否可以创建模板函数,然后创建指向该模板函数的函数指针.这可能吗?

我正在使用VS2008.

以下代码获取此编译时错误:

"无法从'overloaded-function'转换为'int(__ cdecl*)(int&,int&)'在范围内具有此名称的所有函数都不匹配目标类型"

template<typename T>
T tfunc(const T &x, const T &y){
    return (x < y ? x : y);
}

int (*tfunc_ptr)(int &, int &) = &tfunc<int>;
Run Code Online (Sandbox Code Playgroud)

R S*_*hko 11

你的论点是错的. tfunctake是const引用的参数,所以你的函数指针必须做同样的事情;

int (*tfunc_ptr)(const int &, const int &) = &tfunc<int>;
Run Code Online (Sandbox Code Playgroud)