Delen via


Compilerfout C2970

'klasse' : sjabloonparameter 'param': 'arg': een expressie met objecten met interne koppeling kan niet worden gebruikt als een niet-type argument

Opmerkingen

U kunt de naam of het adres van een statische variabele niet gebruiken als sjabloonargument. De sjabloonklasse verwacht een const-waarde die tijdens het compileren kan worden geƫvalueerd.

Example

In het volgende voorbeeld wordt C2970 gegenereerd:

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