24小时热门版块排行榜    

查看: 443  |  回复: 2

木易山水

金虫 (小有名气)

[求助] #include <iostream> 已有2人参与

#include <iostream>
template<typename T0,typename T1,typename T2,typename T3,typename T4>
T2 func(T1 v1, T3 v3, T4 v4);//模板参数中可函数函数关联的是T1 T3 T4
int main() {
double sv2;
using namespace std;
sv2 = func<double, int, int>(1, 2, 3);//<T0,T1,T2>,T3 T4是由函数参数自动推导而来的

不太明白的是这句话:
/<T0,T1,T2>,T3 T4是由函数参数自动推导而来的
这里自动推导有什么意义吗?
回复此楼
大师远去,新的一代正在成长
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzhlgzz

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
看看C++模板那块儿吧,#include <iostream>后面似应有一句using namespace std;
2楼2014-04-13 10:25:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

derek888

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
显式模板实参从左至右与对应模板形参相匹配,即第一个模板实参与第一个模板形参匹配,第二个和第二个,依次类推。若从函数形参推断,则只有最右边形参的显式模板实参可以省略。
func<double,int,int>显示指定了前三个形参的类型,编译器将根据传递的实参来推断T3和T4
Hardworkistheonlywaytosuccess!
3楼2014-04-13 15:14:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 木易山水 的主题更新
信息提示
请填处理意见