E2295 Trop de spécialisations de modèle candidat depuis 'spécificateur' (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Erreurs et avertissements du compilateur (C++) - Index

Lors du référencement d'une spécialisation de modèle de classe, il se peut qu'une même référence génère plusieurs candidats possibles. Ceci ne peut réellement arriver que dans des spécialisations de classe partielles, lorsque plusieurs spécialisations partielles sont en compétition pour une correspondance possible :

template<class T, class U>
class foo;
template<class T>
class foo<T, T *>;
template<class T>
class foo<T *, T>;
foo<int *, int *> x; // erreur : quelle spécialisation partielle utiliser ?

Dans cet exemple, les deux spécialisations partielles sont correctes et aucune n'est plus spécialisée que l'autre, ce qui provoque une erreur.