有函数模板声明和一些变量定义如下: template<class T1,class T2,class T3>T1 sum(T2,T3); double d1,d2; 则下列调用中,错误的是( )。

admin2015-09-14  36

问题 有函数模板声明和一些变量定义如下:
    template<class T1,class T2,class T3>T1 sum(T2,T3);
    double d1,d2;
    则下列调用中,错误的是(    )。

选项 A、sum<double,double,double>(d1,d2);
B、sum<double,double>(d1,d2);
C、sum<double>(d1,d2);
D、sum(d1,d2);

答案D

解析 虚拟类型参数T1没有出现在模板函数的形参表中,因此在调用时不可能从模板函数的实参表中获得相应的信息,因此T1无法省略。而在选项D中省略了。
转载请注明原文地址:https://kaotiyun.com/show/SvNp777K
0

最新回复(0)