返回void并且没有参数的Specialize成员函数

时间:2013-12-24 11:26:11

标签: c++ template-specialization class-members

假设我有这个功能:

class A {
    template<class Collider> void Init();
};

我可以将它专门用于Sphere和Box吗?

我从其他模板函数调用此函数,因此使用InitForSphere和InitForBox并不容易。

1 个答案:

答案 0 :(得分:6)

是的,你可以。

template<>
void A::Init<Box>() {}

template<>
void A::Init<Sphere>() {}

称之为

A a;
a.Init<Box>();