В моем интерфейсе объявлен следующий метод шаблона:
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);
};
Хотя я не уверен, как выглядит вызов.Я думал, что следующего будет достаточно, где mObjFactory
- реализация ранее упомянутого виртуального класса;
inline void AllocateWithMemPoolAux() { mObjFactory->CreateObject<TestClass1>(); }
Я получаю ошибку: "Ни один экземпляр шаблона функции не соответствует списку аргументов" Как выглядит правильный вызов функции?
(также - в качестве sidenote, можно ли объявлять шаблонный метод в интерфейсе и требовать, чтобы пользователь реализовал его?, Поскольку вы не можете объявить его виртуальным)
Спасибо