我对C ++比较陌生,我第一次尝试构建复杂的模板结构。
如何作为模板类Foo的成员声明Foo *元素的std :: vector,但是它可以是各种类型的?
#include <vector>
template <typename T>
class Foo {
T mValue;
std::vector< Foo<T>* > mFooParameters; // <---- I would like this vector to contain
// any sort of Foo<T>* elements,
// Foo<int>*, Foo<double>*, etc.
};
是直截了当,可能但很复杂,或者不可能?
感谢您的回答!
答案 0 :(得分:0)
如果您的矢量类型都是相关的,请使用@jogojapan提供的链接中所述的多态,如果类型完全不相关,请使用void*
的向量来保存指向您数据的指针(类型为虽然凌乱)