а аллокатор у тебя свой написан? Судя по всему да, тогда его просто нужно сделать шаблонным, как стандартный allocator из <memory> (или сделать шаблонным метод Alloc(), что вероятно лучше), и можно будет писать
C++ (Qt)
class Allocator
{
public:
template<typename T>
T *Alloc()
{
return new T;
}
...
};
MyStruct * s = allocator.Alloc<MyStruct>();
Без кода самого аллокатора сказать сложно.