我有一个explain
类,需要Foo
类型值。我也想将它们存储在矢量中。我尝试了几种方法,但没有找到任何解决方案。请查看下面的源代码,了解我想要实现的目标。
T
答案 0 :(得分:3)
如上所述,Foo<int>
和Foo<double>
是不同的类型。同时template<typename T>Foo
或template<class T>std::vector<Foo<T>>
根本不是类型。它们可以被视为类型的布局。
如果您确实需要在一个容器中存储完全不同的类型,请使用类型擦除方法。例如来自C ++ 17 STL的容器std::any
。看看example。