Предположим, у меня есть эта функция:
class A {
template<class Collider> void Init();
};
Могу ли я специализировать его для сферы и коробки?
Я вызываю эту функцию из другой шаблонной функции, поэтому нелегко просто использовать InitForSphere и InitForBox.
Да, ты можешь.
template<>
void A::Init<Box>() {}
template<>
void A::Init<Sphere>() {}
называть это как
A a;
a.Init<Box>();
Других решений пока нет …