Вы не определили MyType.Если вы передаете классу Factory объект, который хотите создать, вам нужно определить тип, который вы проходите.Без передачи типа объекта, который фабричный класс не может создать!Поэтому You MyType должен быть либо typedef для примитива, либо struct / class, который определяет ваш собственный тип данных.
В идеале
class MyType{
//Some data structure or type that you want to use.
};
и
class Factory{
public:
template<class T>
static T* CreateObject(T& newOb){
return &newOb;
}
//Other non template functions
}
позволитваш фабричный класс для создания объекта вашего собственного типа.