E2295 Zu viele Template-Spezialisierungen von 'spezifizierer' (C++)
Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index
Beim Referenzieren einer Klassen-Template-Spezialisierung ergeben sich aus einer Referenz manchmal mehrere mögliche Kandidaten. In der Praxis kommt dies nur bei teilweisen Klassenspezialisierungen vor, wenn für eine Auflösung mehrere der Spezialisierungen in Frage kommen:
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; // Fehler: welche Teil-Spezialisierung soll verwendet werden?
In diesem Beispiel sind beide Spezialisierungen gleichermaßen gültig. Da keine besser spezialisiert ist als die andere, tritt ein Fehler auf.