如何为对象编写显式特化
Car<T>
在虚拟方法 clear() 中?
template <class U>
class List
{
public:
virtual void clear();
};
template <class T>
template <>
void List < Car <T> >::clear() //Specialization U = Car <T>, compiler error
{
....
}
级车:
template <class T>
class Car
{
T speed;
...
}
编译错误:
错误 16 错误 C3855: 'List': 模板参数 'Car' 与声明 h:...\List.hpp 不兼容 75 错误 20 错误 C2264: 'List::clear' : 函数定义或声明错误;未调用函数 h:...\List.hpp 75
但是这个结构还可以
template <>
void List < Car <double> >::clear() //Specialization U = Car <T>, compiler error
{
....
}