私の宿題の割り当てでは、リンクされたリストを作成しなければならず、テンプレートクラスでなければなりません。この割り当てでは、Listという1つのテンプレートクラスと、Linkという別のネストされたテンプレートクラスが呼び出されます。ネストされたクラスが同じタイプのネストされたクラスを設計する方法
メソッドは、クラス定義の外で定義する必要があります。
私は割り当ての簡単なバージョンを作成して動作していますが、私のデザインにはエラーがあるようです。
#include <iostream>
using namespace std;
template <class T1>
class A
{
public:
template <class T2>
class B;
T1 _a;
};
template <class T1>
template <class T2>
class A<T1>::B
{
public:
T2 _b;
};
int main()
{
A<int> a;
a._a = 5;
A<int>::B<int> b;
b._b = 10;
cout << a._a << " " << b._b << "\n";
return 0;
}
私の主な質問はあなたが声明A<int>::B<int> b;
から見ることができるように、ネストされたクラスは、同じタイプであろうから、ある、クラスBは、自動的に同じタイプのものでも持ってする方法はありますか?私の質問は理にかなっていますか?言い換えれば、私はA<int>::B b;
とbを自動的にAと同じタイプにすることはできますか?例えば、私がA<double>::B<int>;
を持っている状況は決してありません。
OK、私はそれがうまくいくことを考えていた、という問題点があったに違いありません私はエラーが発生し続けているので、私の構文で。私はもう一度それを試みます。 –