以下函数模板的返回类型应该是什么 -
#include<iostream>
using namespace std;
template <class T1, class T2>
returntype biggerNum(T1 num1 , T2 num2){
if(num1>num2)
return num1;
return num2;
}
int main(){
cout<<biggerNum(2,3.4);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
由于这两种类型将需要转换为一些常见的类型,你可以用std::common_type获得的普通型T1和T2像
template <class T1, class T2>
std::common_type_t<T1, T2> biggerNum(T1 num1 , T2 num2){
if(num1>num2)
return num1;
return num2;
}
Run Code Online (Sandbox Code Playgroud)
如果没有这样的类型,那么你会得到一个编译器错误。
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |