c++ - 特化返回 void 且没有参数的成员函数

标签 c++ template-specialization class-members

假设我有这个功能:

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

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

我是从其他模板函数中调用这个函数的,所以只使用 InitForSphere 和 InitForBox 并不容易。

最佳答案

是的,你可以。

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

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

这样称呼

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

关于c++ - 特化返回 void 且没有参数的成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20760074/

相关文章:

c++ - 如何正确特化与其父类型相同的模板化静态常量成员

C++类/目标函数使用查询

c++ - 在这种情况下,模板参数推导如何工作?

c++ - 使网络更改永久化 - C++

c++ - 使用 CRYPTO_thread_setup 的多 SSL 环境

C++ 单构造函数模板特化

c++ - 智能指针的模板特化与普通指针完全一样

c++ - 使用 default_random_engine 作为类成员并且没有类会导致不同的数字(相同的种子)

python - 类的实例作为同一个类的类成员