Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
'argument' : Ungültiges Vorlagenargument für 'type', erwarteter Konstantenausdruck für kompilierungszeit
Bemerkungen
Das Vorlagenargument stimmt nicht mit der Vorlagendeklaration überein; Ein Konstantenausdruck sollte in den winkeln Klammern angezeigt werden. Variablen sind nicht als tatsächliche Vorlagenargumente zulässig. Überprüfen Sie die Vorlagendefinition, um die richtigen Typen zu ermitteln.
Examples
Im folgenden Beispiel wird C2975 generiert und auch die richtige Verwendung gezeigt:
// C2975.cpp
template<int I>
class X {};
int main() {
int i = 4, j = 2;
X<i + j> x1; // C2975
X<6> x2; // OK
}
C2975 tritt auch auf, wenn Sie __LINE__ als Kompilierungszeitkonstante mit /ZI. Eine Lösung wäre das Kompilieren mit /Zi anstelle von /ZI.
// C2975b.cpp
// compile with: /ZI
// processor: x86
template<long line>
void test(void) {}
int main() {
test<__LINE__>(); // C2975
}