重複の可能性:
C++ の継承とテンプレート - メソッドが非表示になるのはなぜですか?
テンプレートクラスである親クラスの変数を使用できないのはなぜですか?
継承でテンプレートを使用し、子クラスから親クラスのパブリック メンバーにアクセスしようとしています。しかし、これは g++ でコンパイルしていません。
template<class T>
class A
{
public:
A<T>* t;
};
template<class E>
class D:public A<E>
{
public:
D()
{
t = 0;
}
};
int main()
{
D<int> d;
return 0;
}
コンパイル エラー:
g++ Test.C Test.C: In constructor D<E>::D():
Test.C:27: error: 't' was not declared in this scope