Supposons que j'ai une union:C++ méthode de modèle pour spécialiser types d'union
union U{
int i;
float f;
};
Je veux écrire une méthode générique qu'il utilise comme un flotteur ou int. Quelque chose comme ceci:
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;
}
Y at-il un moyen de faire cela? C'était juste une méthode d'exemple. J'ai une méthode beaucoup plus longue et compliquée, et je ne veux pas la dupliquer juste pour changer le type d'union utilisé.
Pourquoi dis-tu 'typedef'? –
J'ai oublié que vous pouviez nommer des syndicats sans typedef. – Azmisov