E2397 Template-Argument darf keine static oder local Einbindungsangabe haben (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

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

Nur integrale Konstantenausdrücke und die Adressen globaler Variablen mit externer Bindung dürfen als Template-Argumente verwendet werden. Ein Beispiel:



 template<char *x>
 class foo;
 const char *p = "Hello";
 extern char *q;
 foo<p> x; // OK: "p" ist global sichtbar
 foo<q> y; // OK: "q" ist ebenfalls global sichtbar
 foo<"Hello"> z; // Fehler: String-Literal ist statisch gelinkt