我想編寫一個函數像這樣:C++,返回類型爲模板類型的模板
template<class T1, T2>
T2 getvalue(T1 in)
{
T2 tmp;
// do some work here
return T2;
}
,並以這種方式撥打:
float x[100];
int x=getvalue<int>(x);
但似乎我不能這樣做。這個想法是,編譯器從使用中檢測T1,但我定義了返回類型。但是上面的代碼會產生一個錯誤。
有關我如何做到這一點的任何建議?
當然,'typename'和'class'在這裏是等價的。 – dyp
模板參數的順序不需要與模板參數的順序相同(例如:http://ideone.com/T1Iom2)//編輯:啊,好的。我首先誤解了你。 –