如果我有一個模板類和模板函數這樣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