E2397 L'argument du modèle ne peut pas avoir une liaison statique ou locale (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Erreurs et avertissements du compilateur (C++) - Index

Seules les expressions constantes entières et l'adresse des variables globales avec un lien externe peuvent être utilisées comme arguments modèles. Par exemple :



 template<char *x>
 class foo;
 const char *p = "Bonjour";
 extern char *q;
 foo<p> x;// OK : "p" est visible vers l'extérieur
 foo<q> y;// OK : "q" est aussi globalement visible
 foo<"Bonjour"> z;// erreur : le littéral chaîne a un lien statique