C++ 模板化函数中的参数推断失败

C++ 模板化函数中的参数推断失败,c++,templates,C++,Templates,当我试图编译下面的代码时,我收到了以下错误。 我原以为函数模板会自动推断这些类的参数类型,但事实并非如此 当我将类型显式化时,此代码也不会复制 什么C++规则我没有考虑到这个过程中的错误,什么是修复?< /P> 问候 AFG 错误:调用“wrap\u”调用(test&,get\u value&)时没有匹配的函数 模板 结构测试{ 类型定义T值_类型; T m_数据; }; 模板 类型名称F::返回类型包装调用(T&obj,F&F){ 返回f.运算符()(obj); } 结构ciccio{ int

当我试图编译下面的代码时,我收到了以下错误。 我原以为函数模板会自动推断这些类的参数类型,但事实并非如此 当我将类型显式化时,此代码也不会复制

<>什么C++规则我没有考虑到这个过程中的错误,什么是修复?< /P> 问候

AFG

错误:调用“wrap\u”调用(test&,get\u value&)时没有匹配的函数
模板
结构测试{
类型定义T值_类型;
T m_数据;
};
模板
类型名称F::返回类型包装调用(T&obj,F&F){
返回f.运算符()(obj);
}
结构ciccio{
int m_值;
};
结构获取值
:std::一元函数
{
ciccio*运算符()(测试和obj){
返回和obj.m_数据;
}
};
int main(){
测试对象;
得到_值g;
ciccio*p=(obj,g);
//如果使类型显式,则会出现相同的错误
//ciccio*p=换行呼叫(obj,g);
返回0;
};
问题在于:

typename F::return_type
应该是:

typename F::result_type
//          ^^^^^^^^^^^

例如,请参见。

oops。。谢谢安迪…我花了1小时……@ abruZuthOrgETELTEL:没问题,这是发生的:“abruZueCopeGeTele:如果这解决了你的问题,你能考虑接受这个答案吗?”
typename F::result_type
//          ^^^^^^^^^^^