Нет необходимости использовать
DelegateHandler* pDeleGateHandler = new DelegateHandler<T>(...);
в функции-члене static
.Это может быть просто
DelegateHandler* pDeleGateHandler = new DelegateHandler(...); // No <T>
, а затем вы можете использовать:
DelegateHandler<int>* var1 = DelegateHandler<int>::CreateInstance(...);
DelegateHandler<double>* var2 = DelegateHandler<double>::CreateInstance(...);
и т. Д.
Если вы хотите использовать
DelegateHandler<int>* var = DelegateHandler<double>::CreateInstance<int>(...);
Есть способы поддержать это, но из вашего поста не ясно, хотите ли вы это сделать.