我有一个名为AbstractRManagers的类,我想继承单例模板类Singleton但是abstractRmanager需要是一个模板类我遇到了一些没用的奇怪错误代码,我试过查找它但是要没运气。
template <class Type>
class AbstractRManagers : public Singleton<AbstractRManagers>
{
错误C3203:'AbstractRManagers':非专业化的类模板不能 用作模板参数'Type'的模板参数,预期 一个真实的类型
答案 0 :(得分:11)
AbstractRManagers
命名一个模板,它不是一个类型 - 它必须有一个模板参数给成为一个类型。至少如果我理解你想要什么,你可能需要这样的东西:
template <class Type>
class AbstractRManagers : public Singleton<AbstractRManagers<Type> >
......开始看起来像CRTP一样可疑。
然后是强制性的说明:在这里(或几乎在任何地方)你真的不需要或想要单身人士的机会非常好。
答案 1 :(得分:4)
它应该是public Singleton<AbstractRManagers<Type> >
,因为AbstractRManagers
是一个模板,您需要提供具体类型来实例化它。