Наследование шаблонов классов C ++
Я хотел бы наследовать от шаблона класса и изменить поведение, когда операторы "()» называются - я хочу вызвать другую функцию. Этот код
template
class InsertItem
{
protected:
int counter;
T destination;
public:
virtual void operator()(std::string item) {
destination->Insert(item.c_str(), counter++);
}
public:
InsertItem(T argDestination) {
counter= 0;
destination = argDestination;
}
};
template
class InsertItem2 : InsertItem
{
public:
virtual void operator()(std::string item) {
destination ->Insert2(item.c_str(), counter++, 0);
}
};
дает мне эту ошибку: я
Error 1 error C2955: 'InsertItem' : use of class template requires template argument list...
Я хотел бы спросить вас, как сделать это правильно, или есть ли другой способ сделать это. Благодарю.