Ошибка компилятора C2971
Class: параметр шаблона "param" : "arg": локальная переменная не может использоваться в качестве аргумента, отличного от типа.
Имя или адрес локальной переменной нельзя использовать в качестве аргумента шаблона.
Следующий пример приводит к возникновению ошибки C2971:
// 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;
}