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.
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