Ich habe folgende Template-Methode in meiner Schnittstelle deklariert:Klasse Methodenvorlage Argumentliste
class IObjectFactory
{
public:
virtual ~IObjectFactory() { }
virtual int32_t Init() = 0;
virtual bool Destroy() = 0;
virtual bool Start() = 0;
virtual bool Stop() = 0;
virtual bool isRunning() = 0;
virtual void Tick() = 0;
template <class T>
Object<T> CreateObject(T);
};
Ich bin nicht sicher, wie der Anruf wie wenn aussieht. Ich dachte, das folgende wäre genug, wo mObjFactory
eine Implementierung der zuvor erwähnten virtuellen Klasse ist;
inline void AllocateWithMemPoolAux() { mObjFactory->CreateObject<TestClass1>(); }
Der Fehler, den ich bekommen ist „Nein Instanz von Funktionsvorlage entspricht der Argumentliste“ Wie sieht die richtige aussehen Funktionsaufruf?
(auch - als Nebenbei bemerkt, ist es in Ordnung, eine Template-Methode in einer Schnittstelle zu erklären und fordern die Benutzer es implementieren, wie Sie es nicht virtuell deklarieren?)
Dank