我对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.
};它是简单的,可能的,但复杂的,还是不可能的?
感谢您的回答!
发布于 2012-10-19 12:07:58
如果你的向量类型都是相关的,那么就使用@jogojapan提供的链接中解释的多态性,如果这些类型根本不相关,就使用一个void*的向量来保存指向你的数据的指针(虽然有点混乱)
https://stackoverflow.com/questions/12967174
复制相似问题