私は基本構造を持っていますFooBase
:
struct FooBase { };
Foo
次に、の子であるテンプレート構造を作成しますFooBase
。
template <typename typeName> struct Foo : public FooBase { typeName* foo };
一部のクラスでは、のベクトルを作成し、その中FooBase
にインスタンスを追加Foo
します。
vector <FooBase> FooVector
...
Foo <Bar> fooInstance;
fooInstance.foo = new Bar();
FooVector.push_back ( fooInstance );
次に、保存されたデータにアクセスする必要がありましたが、メンバーが存在しないという予測可能な明らかなエラーが発生していfoo
ますFooBase
FooVector[0].foo
みたいなの書けない
Foo <Bar> fooInstance = FooVector[0]
テンプレートパラメータがわからないので。
Foo
のインスタンスをベクターに保存して、後でアクセスできるようにするにはどうすればよいですか。ベクトルからデータを読み取るとき、最後のステップでテンプレートパラメーターがわからないことに注意してください。
PSブーストは許可されていません!