私は基本構造を持っています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ブーストは許可されていません!