我有一个名为AbstractRManagers的类,我想从Singleton模板类Singleton继承该类,但abstractRmanager需要作为模板类,我遇到了一些奇怪的错误代码,这些代码无用,我尝试过查找,但没有运气。

template <class Type>
class AbstractRManagers : public Singleton<AbstractRManagers>
{

最佳答案

AbstractRManagers命名一个不是类型的模板-它必须具有给出的模板参数才能成为类型。至少如果我了解您的需求,则可能需要类似以下内容的设备:

template <class Type>
class AbstractRManagers : public Singleton<AbstractRManagers<Type> >

...开始看起来像可疑的CRTP。

然后是强制性的注释:您在这里(或几乎任何地方)根本不需要或想要单例的机会非常多。

10-08 20:24