Klassenvorlagenvererbung C ++

Ich möchte von der Template-Klasse erben und das Verhalten ändern, wenn die Operatoren "()" aufgerufen werden - ich möchte eine andere Funktion aufrufen. Dieser Code

template<typename T>
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<typename T>
class InsertItem2 : InsertItem
{
public:
 virtual void operator()(std::string item) {
  destination ->Insert2(item.c_str(), counter++, 0);
 }
};

gibt mir diesen Fehler:

Error 1 error C2955: 'InsertItem' : use of class template requires template argument list...

Ich möchte Sie fragen, wie Sie das richtig machen oder ob es einen anderen Weg gibt, dies zu tun. Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage