如果我有一个模板类和模板函数这样C++模板类和模板函数
template <class T> T getMax (T a, T b) {
return (a>b?a:b);
}
template <class T> class GetMax {
public:
static T getMax(T a, T b) {
return (a>b?a:b);
}
};
为什么这些无效?
x=getMax(1, '2');
但这些都是有效的
x=getMax(1,2);
这是否意味着存在模板函数没有类型转换?
这是无效的
x=GetMax::getMax(1, 2);
这是否意味着为模板类,必须指定类型?
该标准本身有一个类似于你的第二个问题。 'std :: pair'必须指定其类型。这就是为什么有'std :: make_pair (T1,T2)'功能。 –
MSalters
2010-02-01 12:03:12