我有一个名为 AbstractRManagers 的类,我想从一个单例模板类 Singleton 继承,但是 abstractRmanager 需要成为一个模板类我遇到了一些没有用的奇怪错误代码,我已经尝试查找它但是没运气。
template <class Type>
class AbstractRManagers : public Singleton<AbstractRManagers>
{
error C3203: 'AbstractRManagers' : unspecialized class template can't be used as a template argument for template parameter 'Type', expected a real type
最佳答案
AbstractRManagers
命名一个模板,它不是一个类型——它必须有一个模板参数才能成为一个类型。至少如果我明白你想要什么,你可能需要这样的东西:
template <class Type>
class AbstractRManagers : public Singleton<AbstractRManagers<Type> >
...开始看起来很像 CRTP。
然后必须注意:很有可能您在这里(或几乎任何地方)都不需要或不想要单例。
关于c++ - "unspecialized class template can' t be used as a template argument”是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9528297/