class T型を newして、
引数のクラスに、追加した関数テンプレートを作りたいのですが
どう作ればいいでしょうか

template<class T>
T* MakeTask(CTaskMgr& task,DWORD ID)
{
T* p = new T;
task.add(p);
..省略..
return p;
}

みたいな感じにしたいのですが、
引数にT型がわかる者がないので、上手くいきません。
テンプレートクラス
template<class T> class TaskBuilder{
static T* Make(CTaskMgr& task,DWORD ID);
};
// TaskBuilder<CTask>::Make(task,id); で使う。
で、静的関数やfriend関数にしても 上手くいかないです。


何か方法ありませんか?