Compilerfehler C2971

'class' : template parameter 'param' : 'arg' : Eine lokale Variable kann nicht als Argument ohne Typ verwendet werden.

Sie können den Namen oder die Adresse einer lokalen Variablen nicht als Vorlagenargument verwenden.

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;
}