如果我有一個變量,其類型是模板類,並且我想要構建另一個不同模板類的變量,但使用相同的模板參數,我怎麼能?從不同的變量模板類型構建變量的模板類型
雖然下面的例子不起作用,但它有希望給出我期望完成的想法。如果沒有非常具體的方法來做到這一點,有沒有辦法讓某種查詢表設計模式來做到這一點?只有六種左右不同的模板類型可能會用到。
template<typename T>
class A{
public:
typedef T Type;
};
template<typename T>
class B{};
int main(void){
A<int> var1;
B<var1::Type> var2;
}
我很抱歉,如果這是一個重複的問題,但我沒有看到任何此類問題。
編輯
我想辦法爲這個與Visual Studio 2010和海灣合作委員會的工作,而無需使用第三方庫。所以並不是所有的C++ 11功能都可以被支持。
此外,沒有使用typedef A<int>
或知道A<int>
,因爲此代碼只是一個測試案例場景,顯示我想要的基本功能。我想要一種從模板類型變量中獲取模板類型的方法。
FWIW,爲了讓你的例子編譯,將'A var1;'更改爲'typedef A var1;' –
2012-04-19 06:42:32
@Jesse問題是'var1'是一個變量,而不是一個類型。 – 2012-04-19 07:11:20
好的,我添加了另一個應該在VS2010中工作的變體,儘管我無法測試它。 – juanchopanza 2012-04-19 08:19:21