假設我有一個聯盟:C++模板的方法來專門聯合類型
union U{
int i;
float f;
};
我想寫使用它作爲一個float或者int的通用方法。就像這樣:
template <typename T>
T sum(std::vector<U> vec){
T res(0);
for (U &v: vec){
res += ... // use v.i or v.f depending on what T is
}
return res;
}
有沒有辦法做到這一點?這只是一個示例方法。我有一個更長,更復雜的方法,我不想複製它只是爲了切換它使用的聯合類型。
爲什麼你說'typedef'? –
我忘了你可以在沒有typedef的情況下命名工會。 – Azmisov