c++ - 如何确定使用哪个类特化?

标签 c++ templates

我有一个类模板

template<class T>
class A
{
};

及其专长之一

template<>
class A<B>
{
};

如果C是B的子类

class C : public B
{
};

哪个实例化用于A<C> ?如果它使用第一个 A<T> ,如何让它使用第二个A<B>

最佳答案

A<B> 起将使用主模板与 A<C> 不匹配.查看此问题以获取有关如何使其工作的建议:Template specialization based on inherit class

关于c++ - 如何确定使用哪个类特化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18732524/

相关文章:

c++ - 构造函数解析、默认构造函数和 ()

javascript - foreach 访问特定模板项中的 knockout 模板

java - 快速排序与选择排序(Java 与 C++)

c++ - 如何声明模板类的模板

c++ - 如何将无符号参数传递给模板?

css - django 模板切片 css 行为

c++ - 无法将模板参数传递给 std::list<T>::iterator

c++ - boost::shared_ptr <> "explicit shared_ptr( Y * p ): px( p ), pn()//Y must be complete"

c++ - 在模板元编程中使用 "struct xxx<>::val"导致错误

c++ - 为什么删除的内存无法使用? C++