Freigeben über


Compilerfehler C2900 bis C2999

In den Artikeln in diesem Abschnitt der Dokumentation wird eine Teilmenge der vom Compiler generierten Fehlermeldungen erläutert.

Wichtig

Die Visual Studio-Compiler und -Buildtools können vielen Arten von Fehlern und Warnungen generieren. Nachdem ein Fehler oder eine Warnung erkannt wurde, können die Buildtools Annahmen über den beabsichtigten Zweck des Codes machen, und sie versuchen, den Code weiterhin auszuführen, sodass mehrere Probleme gleichzeitig gemeldet werden können. Wenn die Tools allerdings von falschen Annahmen ausgehen, sind spätere Fehler oder Warnungen möglicherweise nicht auf das Projekt anwendbar. Wenn Sie Probleme im Projekt beheben, sollten Sie immer mit dem ersten gemeldeten Problem (Fehler oder Warnung) beginnen, und häufig einen Rebuild für das Projekt ausführen. Ein Fix kann mehrere nachfolgende Fehler beheben.

Um Hilfe zu einer bestimmten Diagnosenachricht in Visual Studio zu erhalten, wählen Sie sie im Fenster Ausgabe aus, und drücken Sie die Taste F1. Visual Studio öffnet die Dokumentationsseite für diesen Fehler, sofern vorhanden. Sie können auch das Suchtool oben auf der Seite verwenden, um Artikel zu bestimmten Fehlern oder Warnungen zu finden. Oder durchsuchen Sie die Liste der Fehler und Warnungen nach Tool und Typ im Inhaltsverzeichnis auf dieser Seite.

Hinweis

Nicht jeder Visual Studio-Fehler oder jede Warnung ist dokumentiert. In vielen Fällen sind bereits alle verfügbaren Informationen in der Fehlermeldung enthalten. Wenn Sie auf dieser Seite landen und denken, dass die Fehlermeldung oder Warnmeldung zusätzliche Erläuterungen benötigt, teilen Sie uns diese über die Feedbackschaltflächen auf dieser Seite mit. Wenn Sie glauben, dass der Fehler oder die Warnung falsch ist oder Sie ein weiteres Problem mit dem Toolset gefunden haben, melden Sie ein Produktproblem auf der Developer Community-Website. Sie können auch innerhalb der IDE Feedback senden und Fehler eingeben. Wechseln Sie in Visual Studio zur Menüleiste, und wählen Sie Hilfe > Feedback senden > Problem melden, oder senden Sie einen Vorschlag über Hilfe > Feedback senden > Feature vorschlagen. Es wurden einige Themen zu Compilerfehlern erstellt, die nicht vom Compiler ausgegeben werden und Sie jetzt stattdessen zu dieser Seite umleiten.

Weitere Unterstützung bei Fehlern und Warnungen finden Sie in den Microsoft Q&A C++-Foren. Oder suchen Sie auf der Website der Visual Studio C++-Developer Community nach der Fehler- oder Warnungsnummer. Sie können auch Stack Overflow nach Lösungen durchsuchen.

Links zu zusätzlichen Hilfe- und Communityressourcen finden Sie in der Hilfe und Community für Visual C++.

Fehlermeldungen

Fehler `Message`
Compilerfehler C2900 declarator“: Vorlagen der Memberfunktion in WinRT-Klassen müssen als „private“, „internal“ oder „protected private“ deklariert sein.
Compilerfehler C2901 identifier“: Ein generische Schnittstelle oder ein generischer Delegat kann nicht öffentlich sein.
Compilerfehler C2902 token“: unerwartetes Token nach „template/generic“, Bezeichner erwartet (in Visual Studio 2022 veraltet)
Compilerfehler C2903 identifier“: Das Symbol ist weder eine Klasse vom Typ „template/generic“ noch eine Funktion vom Typ „template/generic“.
Compilerfehler C2904 identifier“: Der Name wird bereits für eine Vorlage im aktuellen Bereich verwendet.
Compilerfehler C2905 Veraltet.
Compilerfehler C2906 template“: explizite Spezialisierung erfordert „template <>“
Compilerfehler C2907 Registerargument „number“ gibt keine gültige Registernummer an.
Compilerfehler C2908 Explizite Spezialisierung; „template“ wurde bereits instanziiert.
Compilerfehler C2909 identifier“: Für die explizite Instanziierung einer Funktionsvorlage ist ein Rückgabetyp erforderlich.
Compilerfehler C2910 function“: kann nicht explizit spezialisiert werden
Compilerfehler C2911 member“: kann nicht im aktuellen Bereich deklariert oder definiert werden
Compilerfehler C2912 Explizite Spezialisierung „declaration“ ist keine Spezialisierung einer Funktionsvorlage.
Compilerfehler C2913 Explizite Spezialisierung „declaration“ ist keine Spezialisierung einer Klassenvorlage.
Compilerfehler C2914 identifier“: „template/generic“-Argument kann nicht hergeleitet werden, weil das Funktionsargument mehrdeutig ist.
Compilerfehler C2915 identifier“: „type“ kann nicht direkt in der veröffentlichten Oberfläche eines WinRT-Typs verwendet werden. Verwenden Sie stattdessen „Platform::Object^“, um diesen Typ zu übergeben.
Compilerfehler C2916 identifier“: [FlagsAttribute] muss (ausschließlich) für eine öffentliche Enumeration mit einem zugrunde liegenden „unsigned int“-Typ angegeben werden.
Compilerfehler C2917 identifier“: Ungültiger Vorlagenparameter (in Visual Studio 2022 veraltet)
Compilerfehler C2918 identifier“: Indizierte Eigenschaften können nicht direkt in der veröffentlichten Oberfläche eines WinRT-Typs verwendet werden.
Compilerfehler C2919 type“: Operatoren können nicht direkt in der veröffentlichten Oberfläche eines WinRT-Typs verwendet werden.
Compilerfehler C2920 Neudefinition: „type“: Klasse vom Typ „template/generic“wurde bereits als „declaration“ deklariert.
Compilerfehler C2921 Neudefinition: „type“: Klasse vom Typ „template/generic“ wird als „declaration“ neu deklariert.
Compilerfehler C2922 interface“: Eine WinRT-Schnittstelle kann keine statischen Member enthalten.
Compilerfehler C2923 type“: „identifier“ ist kein gültiges „template/generic“-Typargument für den Parameter „parameter“.
Compilerfehler C2924 Das Argument der __declspec(interrupt)-Routine befindet sich nicht in R2.
Compilerfehler C2925 Die __declspec(interrupt)-Routine kann keine Gleitkommawerte verwenden.
Compilerfehler C2926 identifier“: Ein Standardmemberinitialisierer ist für einen Member einer anonymen Struktur in einer Union unzulässig.
Compilerfehler C2927 identifier“: Eine Funktionsvorlage muss mit mindestens einem Argument aufgerufen werden
Compilerfehler C2928 Explizite Instanziierung; „identifier“ ist keine Funktion oder kein statisches Datenmember der Vorlagenklasse „class“.
Compilerfehler C2929 declarator“: Explizite Instanziierung; die Instanziierung eines Elements einer Vorlagenklasse kann nicht explizit erzwungen und unterdrückt werden.
Compilerfehler C2930 class“: template-id/generic-id wird als Enumerator von „enum identifier“ neu definiert.
Compilerfehler C2931 class1: template-id/generic-id wird als Memberfunktion von „class2“ neu definiert (in Visual Studio 2022veraltet).
Compilerfehler C2932 type“: template-id/generic-id wird als Datenmember von „identifier“ neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2933 type“: template-id/generic-id wird als typedef-Member von „identifier“ neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2934 type“: template-id/generic-id wird als verschachteltes „item“ von „identifier“ neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2935 type“: template-id/generic-id wird als globale Funktion neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2936 type“: template-id/generic-id wird als globale Datenvariable neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2937 type“: template-id/generic-id wird als globaler typedef-Member neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2938 identifier“: Spezialisierung der Aliasvorlage fehlgeschlagen
Compilerfehler C2939 type“: template-id/generic-id wird als lokale Datenvariable neu definiert (in Visual Studio 2022 veraltet)
Compilerfehler C2940 type“: template-id/generic-id wird als lokaler typedef-Member neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2941 type“: template-id/generic-id wird als lokales „item“ neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2942 type“: template-id/generic-id wird als formales Argument einer Funktion neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2943 type“: template-id/generic-id wird als Typargument einer Vorlage neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2944 type“: template-id/generic-id wird als Wertargument einer Vorlage neu definiert (in Visual Studio 2022 veraltet).
Compilerfehler C2945 Explizite Instanziierung verweist nicht auf die Spezialisierung einer Vorlagenklasse
Compilerfehler C2946 Explizite Instanziierung: „type“ ist keine Spezialisierung einer Vorlagenklasse.
Compilerfehler C2947 Es wird erwartet, dass „>“ die Vorlagenargumente beendet, „token“ gefunden
Compilerfehler C2948 Explizite Instanziierung: Speicherklassenspezifizierer „specifier“ ist bei einer Spezialisierung nicht zulässig.
Compilerfehler C2949 „thread_local“ wird mit „/kernel“ nicht unterstützt.
Compilerfehler C2950 Veraltet.
Compilerfehler C2951 template/generic-Deklarationen sind nur im globalen Bereich, Namespace- oder Klassengültigkeitsbereich zulässig.
Compilerfehler C2952 declaration“: In der template/generic-Deklaration fehlt die template/generic-Parameterliste.
Compilerfehler C2953 type“: Klassenvorlage wurde bereits definiert.
Compilerfehler C2954 Anweisungswortargument liegt außerhalb des Bereichs.
Compilerfehler C2955 type“: Für die Verwendung einer Klasse vom Typ „ template/generic“ ist eine template/generic-Argumentliste erforderlich.
Compilerfehler C2956 Die übliche Funktion zur Belegungsfreigabe „function“ würde als Platzierungsfunktion zur Belegungsfreigabe ausgewählt werden.
Compilerfehler C2957 token“: ungültiges linkes Trennzeichen: erwartet wurde „<“.
Compilerfehler C2958 Das linke delimiter, das in „file(line_number)“ gefunden wurde, wurde nicht richtig zugeordnet.
Compilerfehler C2959 Eine generische Klasse oder Funktion kann kein Member einer Vorlage sein.
Compilerfehler C2960 Veraltet.
Compilerfehler C2961 function“: inkonsistente explizite Instanziierungen. In einer früheren expliziten Instanziierung wurde „argument“ nicht angegeben.
Compilerfehler C2962 Syntaxfehler: „token“: Definition der Memberfunktion der Vorlagenklasse endet nicht mit „}“
Compilerfehler C2963 Veraltet.
Compilerfehler C2964 Veraltet.
Compilerfehler C2965 __declspec(specifier) wird mit /kernel nicht unterstützt.
Compilerfehler C2966 identifier1“: muss dieselbe Deklaration __declspec(code_seg(...)) wie die Basisklasse „identifier2“ aufweisen (in Visual Studio 2022 veraltet).
Compilerfehler C2967 identifier“: Eine überschreibende virtuelle Funktion muss dieselbe Deklaration __declspec(code_seg(...)) wie die überschriebene virtuelle Funktion aufweisen (in Visual Studio 2022 veraltet).
Compilerfehler C2968 identifier“: rekursive Aliasdeklaration
Compilerfehler C2969 Syntaxfehler: „token“: Definition der Memberfunktion endet nicht mit „}“.
Compilerfehler C2970 type“: Vorlagenparameter „parameter“: “argument“: Ein Ausdruck, der Objekte mit internen Bindungen enthält, kann nicht als Nicht-Typargument verwendet werden.
Compilerfehler C2971 type“: Vorlagenparameter „parameter“: „argument“: Eine Variable mit nichtstatischer Speicherdauer kann nicht als Nichttyp-Argument verwendet werden.
Compilerfehler C2972 type“: Vorlagenparameter „parameter“: Der Typ des Nicht-Typ-Arguments ist ungültig.
Compilerfehler C2973 template“: ungültiges Vorlagenargument „number
Compilerfehler C2974 type“: ungültiges template/generic-Argument für „parameter“, Typ erwartet
Compilerfehler C2975 type“: ungültiges Vorlagenargument für „parameter“, konstanter Kompilierzeitausdruck erwartet.
Compilerfehler C2976 type“: nicht genügend template/generic-Argumente
Compilerfehler C2977 type“: zu viele template/generic-Argumente
Compilerfehler C2978 Syntaxfehler: „keyword1“ oder „keyword2“' wurde erwartet, der Typ „type“ wurde gefunden. Nichttypparameter werden für generische Typen nicht unterstützt.
Compilerfehler C2979 Explizite Spezialisierungen werden für Generics nicht unterstützt.
Compilerfehler C2980 C++-Ausnahmebehandlung wird mit /kernel nicht unterstützt.
Compilerfehler C2981 Die dynamische Form von „keyword“ wird mit /kernel nicht unterstützt.
Compilerfehler C2982 declaration“: verschiedene __declspec(code_seg(...)) verwendet: „identifier1“ jetzt „identifier2
Compilerfehler C2983 "name": Eine Definition muss mit der vorherigen Deklaration identisch __declspec(code_seg(...)) sein.
Compilerfehler C2984 Veraltet.
Compilerfehler C2985 argument“: Das Argument für __declspec(code_seg(...)) muss einen Textabschnitt enthalten.
Compilerfehler C2986 '__declspec(code_seg(...))' kann nur auf eine Klasse oder eine Funktion angewendet werden.
Compilerfehler C2987 Eine Deklaration darf nicht sowohl __declspec(code_seg('identifier')) als auch __declspec(code_seg('value')) enthalten.
Compilerfehler C2988 Unerkannte Vorlagendeklaration/-definition
Compilerfehler C2989 class“: Klassen-template/generic wurde bereits als Nichtklassen-template/generic deklariert.
Compilerfehler C2990 class“: Nichtklassen-template/generic wurde bereits als Klassen-template/generic deklariert.
Compilerfehler C2991 Neudefinition des template/generic-Parameters „parameter
Compilerfehler C2992 class“: ungültige oder fehlende template/generic-Parameterliste
Compilerfehler C2993 type“: ungültiger Typ für den Nichttyp-Vorlagenparameter „identifier
Compilerfehler C2994 Unbenannte Klasse in der Vorlagen-Parameterliste
Compilerfehler C2995 declaration“: Funktionsvorlage wurde bereits definiert.
Compilerfehler C2996 function“: rekursive Definition der Vorlagenfunktion
Compilerfehler C2997 function“: Eine Arraygrenze darf nicht von einem Standardmemberinitialisierer abgeleitet werden.
Compilerfehler C2998 'Identifier': Kann keine Vorlagendefinition sein

Weitere Informationen

C/C++-Compiler und -Buildtools: Fehler und Warnungen
Compilerfehler C2000 bis C3999, C7000 bis C7999