2012-03-02 8 views
5

私はAbstractRManagersというクラスを持っていますが、これはシングルトンのテンプレートクラスから継承したいと思っていますが、シンプルではありませんが、abstractRmanagerはテンプレートクラスにする必要があります。運。"特殊化されていないクラステンプレートをテンプレート引数として使用できない"とはどういう意味ですか?

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

エラーC3203:「AbstractRManagers」:非特殊クラステンプレートはテンプレートパラメータ「種類」のテンプレート引数として使用できません できるが、それがあるべき 実数型

+0

"要約...マネージャー...シングルトン..."私の目!おそらく 'class AbstractRManagers:public Singleton >'が必要です。 –

+0

それには何が悪いですか? "抽象的な...マネージャー...シングルトン..."私の目! –

+0

私たちがC++ラウンジで繰り返すような冗談のよ​​うに聞こえます。 –

答えて

10

AbstractRManagersテンプレートには型ではなく、型になるためのテンプレートパラメータが必要です。少なくともあなたが望むものを理解すれば、おそらく次のようなものが必要です。

​​

...疑わしいCRTPのように見えます。

次に、義務的な注釈は、あなたが本当に必要としないか、ここでシングルトン(あるいはほぼどこでも)を望むチャンスです。

4

を期待しましたpublic Singleton<AbstractRManagers<Type> >としてAbstractRManagersは、インスタンス化する具体的な型を指定する必要があるテンプレートです。

関連する問題