E2392 Template-Instanz 'template' bereits instantiiert (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index

Dieser Fehler tritt in zwei Fällen auf. Im Modus –A (ANSI-Modus) verursacht ihn der Versuch, eine Template-Spezialisierung, die bereits implizit oder explizit instantiiert wurde, explizit nochmals zu instantiieren. Unabhängig von –A tritt der Fehler immer auf, wenn Sie versuchen, eine Template-Spezialisierung, die bereits implizit oder explizit instantiiert wurde, explizit zu spezialisieren. Ein Beispiel:



 template<class T>
 class foo;
 foo<char> x;     // implizite Instantiierung von "foo<char>"
 template<>
 class foo<char> { };   // Fehler: "foo<char>" ist bereits instantiiert
 template class foo<char>;   // im Modus –A ein Fehler, ansonsten eine Warnung