Compilerfehler C2971

'Klasse': Vorlagenparameter 'Param': 'Argument': Eine lokale Variable kann nicht als Nichttyp-Argument verwendet werden

Name oder Adresse einer lokalen Variablen können nicht als Vorlagenargument verwendet werden.

Im folgenden Beispiel wird C2971 generiert:

// C2971.cpp
template <int *pi> 
class Y {};

int global_var = 0;

int main() {
   int local_var = 0;
   Y<&local_var> aY;   // C2971
   // try the following line instead
   // Y<&global_var> aY;
}