我有一个基本结构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不允许提升!