E2295 Zu viele Template-Spezialisierungen von 'spezifizierer' (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

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.