类模板的局部特化,除非必要否则尽量不要特化,特化版本过多会导致编译器匹配歧义
#include <iostream>
template<typename T, typename D>
class CMath {
public:
static void foo() {
std::cout << "1" << std::endl;
}
};
//局部特化:仅特化部分类型
template<typename T>
class CMath<T, int> {
public:
static void foo() {
std::cout << "2" << std::endl;
}
};
int main() {
CMath<int, int>::foo();
CMath<int, float>::foo();
return 0;
}