Megosztás a következőn keresztül:


C2970 fordítóhiba

"class" : template parameter 'param' : 'arg': a belső kapcsolattal rendelkező objektumokat tartalmazó kifejezés nem használható nem típusú argumentumként

Megjegyzések

Statikus változó nevét vagy címét nem használhatja sablonargumentumként. A sablonosztály olyan const értéket vár, amely a fordításkor kiértékelhető.

Example

Az alábbi példa c2970-et hoz létre:

// C2970.cpp
// compile with: /c
static int si;
// could declare nonstatic to resolve all errors
// int si;

template <int i>
class X {};

template <int *pi>
class Y {};

X<si> anX;   // C2970 cannot use static variable in templates

// this would also work
const int i = 10;
X<i> anX2;