假设我有一个模板类
template<typename T>
class MyClass{
//...
}
现在我要声明函数:
template<typename U, typename M>
void foo(U first, M second){
//...
}
现在我需要编写一个这个函数的specjalization,它将MyClass作为第二个模板参数。我试着写这样的东西
template<typename U, typename M>
void foo(U first, template<typename T> MyClass<T> second){
//...
}
不幸的是它不起作用。你有任何吸烟怎么办?
答案 0 :(得分:3)
就像
一样简单template<typename T>
class MyClass{
// ...
};
template<typename U, typename M>
void foo(U first, M second){
}
template<typename U, typename M>
void foo(U first, MyClass<M> second){
}