0
我有一個Foo
類,它需要T
類型的值。我也想將它們存儲在矢量中。我嘗試了幾種方法,但沒有找到任何解決方案。請查看下面的源代碼以瞭解我想實現的目標。存儲泛型T類的C++向量
#include <iostream>
#include <vector>
template<class T> class Foo
{
public:
T getVar(T var)
{
return var;
}
};
int main()
{
template<class T>
std::vector<Foo<T>> foos;
Foo<int> foo1;
Foo<double> foo2;
foos.push_back(foo1); // doesn't work this way
foos.push_back(foo2);
return 0;
}
'Foo'和'Foo '是兩種*不同*類型。向量與數組一樣,只能存儲單個類型的元素。如果您有支持C++ 17的編譯器,請查看['std :: any'](http://en.cppreference.com/w/cpp/utility/any)或['std :: variant'](http ://en.cppreference.com/w/cpp/utility/variant),或者它們的Boost等價物。 –
一旦檢索到矢量元素,你想做什麼?你能展示一些概念代碼嗎? –
這個概念是一個分層架構,每層都可以有'T'型的狀態。我打算使用這些狀態通過網絡/ ...與上層(抽象)層進行通信。 – user3022069