Наследование шаблонов классов 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...

Я хотел бы спросить вас, как сделать это правильно, или есть ли другой способ сделать это. Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос