E2102 Template 'template' kann ohne Spezifizierungsparameter nicht verwendet werden (C++)
Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index
Die generische Form einer Template muss über Spezifizierungsparameter referenziert werden. Wenn beispielsweise eine Template-Klasse namens foo zwei Parameter übernimmt, sieht eine zulässige Referenz folgendermaßen aus:
foo<int, char>
Die Bezugnahme auf die Template mit foo ist nur in zwei Fällen erlaubt:
- Wenn der Template-Name als Template-Template-Argument übergeben wird
- Während der Deklaration der Elemente dieser Klassen-Template, um den umgebenden Template-Typ zu referenzieren
Ein Beispiel:
template<class T>
class foo
{
public:
foo(); // diese Verwendung des Template-Namens ist erlaubt
foo& operator=(const &);
};
foo<foo> x; // Fehler: kein Template-Template-Argument
foo y; // Fehler: Spezifizierungsparameter erforderlich