Microsoft C/C++-Compilerwarnungen C4000 bis C4199

Die Artikel in diesem Abschnitt beschreiben die Meldungen der Microsoft C/C++-Compilerwarnungen C4000 bis C4199.

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. Durch eine Fehlerbehebung können möglicherweise viele nachfolgende Fehler behoben werden.

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 diese Seite erreicht haben, nachdem Sie F1 gedrückt haben, und der Ansicht sind, dass die Fehlermeldung oder Warnmeldung zusätzliche Erläuterungen benötigt, teilen Sie uns dies mit. Mithilfe der Feedbackschaltflächen auf dieser Seite können Sie ein Dokumentationsproblem auf GitHub melden. 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 > Ein Problem melden aus, oder senden Sie einen Vorschlag über Hilfe > Feedback senden > Vorschlag senden. Es wurden einige Themen zu Compilerfehlern erstellt, die nicht vom Compiler ausgegeben werden und Sie jetzt stattdessen zu dieser Seite umleiten.

In Microsoft Learn Q&A-Foren finden Sie möglicherweise zusätzliche Unterstützung für Fehler und Warnungen. 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++.

Warnmeldungen

Warnung `Message`
Compilerwarnung (Stufe 4, nicht mehr ausgegeben) C4001 Dem Standard nicht entsprechende Erweiterung „einzeiliger Kommentar“ wurde verwendet.
Compilerwarnung (Stufe 1, Fehler) C4002 Zu viele Argumente für den Aufruf des funktionsähnlichen Makros „identifier“.
Compilerwarnung (Stufe 1, Fehler) C4003 Nicht genügend Argumente für den Aufruf des funktionsähnlichen Makros „Bezeichner“.
Compilerwarnung (Stufe 1) C4005 identifier“: Makro-Neudefinition
Compilerwarnung (Stufe 1) C4006 #undef hat einen Bezeichner erwartet.
Compilerwarnung (Stufe 3) C4007 Funktion“: muss „Attribut“ sein
Compilerwarnung (Stufe 3) C4008 function“: Attribut „attribute“ wird ignoriert.
Compilerwarnung (Stufe 1) C4010 Einzeiliger Kommentar enthält Zeilenfortsetzungszeichen.
Compilerwarnung (Stufe 3) C4013 function“ undefiniert; Annahme: extern mit Rückgabetyp int
Compilerwarnung (Stufe 1) C4015 identifier“: Typ des Bitfelds muss ganzzahlig sein.
Compilerwarnung (Stufe 3) C4018 expression“: Konflikt zwischen „signed“ und „unsigned“
Compilerwarnung (Stufe 4) C4019 Leere Anweisung im globalen Gültigkeitsbereich
Compilerwarnung (Stufe 1) C4020 „function“: zu viele übergebene Parameter
Compilerwarnung (Stufe 1) C4022 function“: Fehlende Zeigerübereinstimmung für tatsächlichen Parameter „parameter_number
Compilerwarnung (Stufe 1) C4023 function“: Basierter Zeiger auf ein separates Segment an Funktion ohne Prototyp übergeben: Parameter „parameter_number
Compilerwarnung (Stufe 1) C4024 function“ : Unterschiedliche Typen für formalen und tatsächlichen Parameter „parameter_number
Compilerwarnung (Stufe 1) C4025 function“: Basierter Zeiger an Funktion mit Variablenargumenten übergeben: Parameter „parameter_number
Compilerwarnung (Stufe 1) C4026 Funktion mit Liste formaler Parameter deklariert
Compilerwarnung (Stufe 1) C4027 Funktion ohne Liste formaler Parameter deklariert
Compilerwarnung (Stufe 1) C4028 Formaler Parameter parameter_number unterscheidet sich von der Deklaration.
Compilerwarnung (Stufe 1) C4029 Deklarierte Liste formaler Parameter weicht von der Definition ab.
Compilerwarnung (Stufe 1) C4030 Die erste Liste formaler Parameter ist länger als die zweite Liste
Compilerwarnung (Stufe 1) C4031 Die zweite Liste formaler Parameter ist länger als die erste Liste.
Compilerwarnung (Stufe 4) C4032 Der formale Parameter parameter_number hat nach der Höherstufung einen anderen Typ.
Compilerwarnung (Stufe 1) C4033 function“ muss einen Wert zurückgeben.
Compilerwarnung (Stufe 1) C4034 „sizeof“ gibt 0 zurück.
Compilerwarnung (Stufe 3) C4035 function“: Kein Rückgabewert
Compilerwarnung (Stufe 1) C4036 Unbenannter Typ 'Typ' als übergebener Parameter
Compilerwarnung (Stufe 1) C4038 modifier“: Unzulässiger Klassenmodifizierer
Compilerwarnung (Stufe 1) C4041 Compilerlimit: Browserausgabe wird abgebrochen.
Compilerwarnung (Stufe 1) C4042 identifier“: Besitzt unzulässige Speicherklasse
Compilerwarnung (Stufe 1) C4045 array“: Arraygrenze überschritten
Compilerwarnung (Stufe 1) C4047 operator“: „identifier1“ unterscheidet sich in Ebenen der Dereferenzierung von „identifier2“.
Compilerwarnung (Stufe 1) C4048 Verschiedene Arraysubscripts: „identifier1“ und „identifier2
Compilerwarnung (Stufe 1) C4049 Compilerlimit: Ausgabe der Zeilennummer wird abgebrochen.
Compilerwarnung (Stufe 1) C4051 Typkonvertierung; möglicher Datenverlust
Compilerwarnung (Stufe 1 und Stufe 4) C4052 Unterschiedliche Funktionsdeklarationen; eine enthält variable Argumente
Compilerwarnung (Stufe 4) C4053 Ein void-Operand für „?:
Compilerwarnung (Ebene 1) C4055 „conversion“: Von Datenzeiger „type1“ zu Funktionszeiger „type2
Compilerwarnung (Stufe 2) C4056 Überlauf bei Gleitkommakonstanten-Arithmetik
Compilerwarnung (Stufe 4) C4057 operator“: „identifier1“ unterschiedet sich bei der Dereferenzierung von leicht unterschiedlichen Basistypen von „identifier2“.
Compilerwarnung (Stufe 3, deaktiviert) C4060 switch-Anweisung enthält weder „case“- noch „default“-Bezeichnungen.
Compilerwarnung (Stufe 4, deaktiviert) C4061 Enumerator „Bezeichner“ in einem Schalter von enumEnumeration“ wird nicht explizit von einer case-Bezeichnung gehandhabt
Compilerwarnung (Stufe 4, deaktiviert) C4062 Enumerator „Bezeichner“ in Schalter von enumEnumeration“ wird nicht verarbeitet
Compilerwarnung (Stufe 4) C4063 Fall „identifier“ ist kein gültiger Wert für den Schalter von enumenumeration“.
Compilerwarnung (Stufe 4) C4064 Switch mit unvollständiger enumenumeration
Compilerwarnung (Stufe 3, deaktiviert) C4065 Switch-Anweisung enthält „default“ aber keine „case“-Beschriftungen.
Compilerwarnung (Stufe 3) C4066 Mit Ausnahme des ersten Zeichens werden die Zeichen in einer "breiten" Zeichenkonstante ignoriert
Compilerwarnung (Stufe 1) C4067 Unerwartete Token nach Präprozessordirektive – Zeilenvorschub erwartet.
Compilerwarnung (Stufe 1) C4068 Unbekanntes Pragma „identifier
Compilerwarnung C4069 Der Typ „long double“ besitzt dieselbe Genauigkeit wie „double“.
Compilerwarnung (Stufe 3) C4073 Initialisierungen im Initialisierungsbereich einer Bibliothek platziert.
Compilerwarnung (Stufe 1) C4074 Initialisierungen im für den Compiler reservierten Initialisierungsbereich platziert.
Compilerwarnung (Stufe 1) C4075 Initialisierungen stehen in nicht erkanntem Initialisierungsbereich
Compilerwarnung (Stufe 1) C4076 type_modifier“: Kann nicht mit Typ „typename“ verwendet werden
Compilerwarnung (Stufe 1) C4077 Unbekannte check_stack-Option
Compilerwarnung (Stufe 1) C4079 Unerwartetes Token „token
Compilerwarnung (Stufe 1) C4080 Bezeichner für Segmentnamen erwartet; „symbol“ gefunden
Compilerwarnung (Stufe 1) C4081 token1“ erwartet, „token2“ gefunden
Compilerwarnung (Stufe 1) C4083 token“ erwartet, Bezeichner „identifier“ gefunden
Compilerwarnung (Stufe 1) C4085 Pragma-Parameter „on“ oder „off“ erwartet
Compilerwarnung (Stufe 1) C4086 Pragma-Parameter "1", "2", "4", "8" oder "16" erwartet
Compilerwarnung (Stufe 1) C4087 „function“: Mit „void“-Parameterliste deklariert
Compilerwarnung (Stufe 1) C4088 function“: Zeigerkonflikt im tatsächlichen Parameter „parameter_number“, formaler Parameter „parameter_number
Compilerwarnung (Stufe 1) C4089 function“: Unterschiedliche Typen im tatsächlichen Parameter „parameter_number“, formaler Parameter „parameter_number
Compilerwarnung (Stufe 1) C4090 operation“: Verschiedene „modifier“-Qualifizierer
Compilerwarnung (Stufe 1 und Stufe 2) C4091 Schlüsselwort“: wird auf der linken Seite von „Typ“ ignoriert, wenn keine Variable deklariert wurde
Compilerwarnung (Stufe 4) C4092 „sizeof“ gibt „unsigned long“ zurück.
Compilerwarnung (Stufe 2) C4094 token“ ohne Tag deklariert keine Symbole.
Compilerwarnung (Stufe 1) C4096 identifier“: Die Schnittstelle ist keine COM-Schnittstelle; wird nicht zu IDL ausgegeben.
Compilerwarnung (Stufe 1) C4097 Pragma-Parameter „restore“ oder „off“ erwartet
Compilerwarnung (Stufe 1) C4098 function“: „void“-Funktion gibt einen Wert zurück.
Compilerwarnung (Stufe 2) C4099 identifier“: Typname zuerst mit „object_type1“ erkannt, jetzt mit „object_type2“ erkannt.
Compilerwarnung (Stufe 4) C4100 identifier“: Nicht referenzierter formaler Parameter
Compilerwarnung (Stufe 3 und Stufe 4) C4101 Bezeichner“: unreferenzierte lokale Variable
Compilerwarnung (Stufe 3) C4102 label“: Unreferenzierte Bezeichnung
Compilerwarnung (Stufe 1) C4103 Die Ausrichtung wurde nach dem Einschließen des Headers geändert, möglicherweise fehlt #pragma pack(pop).
Compilerwarnung (Stufe 1) C4109 Unerwarteter Bezeichner „identifier
Compilerwarnung (Stufe 1 und Stufe 4) C4112 #line erfordert eine Ganzzahl zwischen 1 und „Zeilenanzahl
Compilerwarnung (Stufe 1) C4113 identifier1“ unterscheidet sich in Parameterlisten von „identifier2“.
Compilerwarnung (Stufe 1) C4114 Der gleiche Typqualifizierer wurde mehrmals verwendet
Compilerwarnung (Stufe 1 und Stufe 4) C4115 type“: Benannte Typdefinition in runden Klammern
Compilerwarnung (Stufe 1) C4116 Unbenannte Typdefinition in runden Klammern
Compilerwarnung (Stufe 1) C4117 Makroname „name“ ist reserviert. „command“ wird ignoriert.
Compilerwarnung (Stufe 1) C4119 Unterschiedliche Basiselemente angegeben, „base1“ und „base2
Compilerwarnung (Stufe 1) C4120 Konflikt zwischen normalem und segmentbasiertem Zeiger
Compilerwarnung (Stufe 4) C4121 symbol“: Ausrichtung eines Elements hängt vom Packing ab.
Compilerwarnung (Stufe 1) C4122 function“: „alloc_text“ ist nur für Funktionen mit C-Bindung anwendbar.
Compilerwarnung (Stufe 1) C4123 Unterschiedliche Basisausdrücke angegeben
Compilerwarnung (Stufe 1) C4124 „__fastcall“ mit Stapelüberprüfung ist ineffizient.
Compilerwarnung (Stufe 4) C4125 Dezimale Ziffer beendet oktale Escapesequenz
Compilerwarnung (Stufe 4) C4127 Bedingter Ausdruck ist konstant
Compilerwarnung (Stufe 1) C4129 character“: Nicht erkannte Zeichenescapesequenz
Compilerwarnung (Stufe 4) C4130 operator“: Logische Operation mit Adresse einer Zeichenfolgenkonstanten
Compilerwarnung (Stufe 4) C4131 function“: Verwendet Deklarator für altes Format.
Compilerwarnung (Stufe 4) C4132 object“: const-Objekt sollte initialisiert werden.
Compilerwarnung (Stufe 1 und Stufe 3) C4133 Ausdruck“: inkompatible Typen – von „Typ1“ zu „Typ2
Compilerwarnung C4137 „function“: Kein Rückgabewert von Gleitkommafunktion
Compilerwarnung (Stufe 1) C4138 */“ wurde außerhalb des Kommentars gefunden.
Compilerwarnung (Stufe 1, Fehler) C4141 "Modifizierer": mehrmals verwendet
Compilerwarnung (Stufe 1) C4142 identifier“: Neudefinition eines Typs ohne Auswirkungen
Compilerwarnung (Stufe 1) C4143 pragma „same_seg“ wird nicht unterstützt, verwenden Sie die Zuteilung mit __based.
Compilerwarnung (Stufe 1) C4144 expression“: Relationaler Ausdruck als Schalterausdruck
Compilerwarnung (Stufe 1) C4145 expression1“: Relationaler Ausdruck als Schalterausdruck; mögliche Verwechslung mit „expression2
Compilerwarnung (Stufe 2) C4146 Einem vorzeichenlosen Typ wurde ein unärer Minus-Operator zugewiesen. Das Ergebnis ist weiterhin vorzeichenlos.
Compilerwarnung (Stufe 2) C4150 Löschen eines Zeigers auf den unvollständigen Typ „type“. Kein Destruktor aufgerufen.
Compilerwarnung (Stufe 4) C4152 Nicht dem Standard entsprechende Erweiterung, Konvertierung von Funktions-/Datenzeiger im Ausdruck
Compilerwarnung (Stufe 1) C4153 Funktions-/Datenzeigerkonvertierung im Ausdruck
Compilerwarnung (Stufe 1) C4154 Löschen eines Arrayausdrucks; Konvertierung in Zeiger angegeben
Compilerwarnung (Stufe 1) C4155 Löschen eines Arrayausdrucks ohne Verwendung der Arrayform von "delete"
Compilerwarnung (Stufe 2) C4156 Löschen eines Arrayausdrucks ohne Verwendung der Arrayform „delete“. Arrayform ersetzt.
Compilerwarnung (Stufe 1) C4157 Pragma wurde vom C-Compiler ignoriert.
Compilerwarnung (Stufe 1) C4158 #pragma pointers_to_members(full_generality, inheritance_type) wird angenommen.
Compilerwarnung (Stufe 3) C4159 #pragma pragma(pop,...): Hat den zuvor gepushten Bezeichner „identifier“ per Pop entfernt.
Compilerwarnung (Stufe 1) C4160 #pragma pragma(pop,...): Konnte den zuvor gepushten Bezeichner „identifier“ nicht finden.
Compilerwarnung (Stufe 3) C4161 #pragma pragma(pop...): Mehr Pops als Pushes
Compilerwarnung (Stufe 1) C4162 identifier“: Keine Funktion mit C-Bindung gefunden
Compilerwarnung (Stufe 1) C4163 identifier“: Nicht als intrinsische Funktion verfügbar
Compilerwarnung (Stufe 1) C4164 funktion“: Intrinsische Funktion nicht deklariert
Compilerwarnung (Stufe 3, deaktiviert) C4165 HRESULT“ wird zu „bool“ konvertiert. Möchten Sie diese Änderung wirklich vornehmen?
Compilerwarnung (Stufe 1) C4166 Unzulässige Aufrufkonvention für Konstruktor/Destruktor
Compilerwarnung (Stufe 1) C4167 function“: Nur als intrinsische Funktion verfügbar
Compilerwarnung (Stufe 1) C4168 Compilerlimit: Nicht genügend Debuggertypen; Programmdatenbank „database“ muss gelöscht und neu erstellt werden.
Compilerwarnung (Stufe 1) C4172 Gibt die Adresse einer lokalen Variablen oder temporären optional_context zurück.
Compilerwarnung (Stufe 1) C4174 name“: Nicht als #pragma component verfügbar
Compilerwarnung (Stufe 1) C4175 #pragma component(browser, on): Browserinformation muss zu Beginn in der Befehlszeile angegeben werden.
Compilerwarnung (Stufe 1) C4176 subcomponent“: Unbekannte Unterkomponente für #pragma component-Browser
Compilerwarnung (Stufe 1) C4177 #pragma pragma“ sollte nur im globalen Gültigkeitsbereich oder im Namespace-Gültigkeitsbereich verwendet werden.
Compilerwarnung (Stufe 1) C4178 case-Konstante „constant“ ist zu groß für den Typ des Schalterausdrucks.
Compilerwarnung (Stufe 4, nicht mehr ausgegeben) C4179 //*“: Als „/“ und „/\*“ geparst: Verwechslung mit „//“-Standardkommentaren
Compilerwarnung (Stufe 1) C4180 Auf Funktionstyp angewendeter Qualifizierer ist ohne Bedeutung; wird ignoriert
Compilerwarnung C4181 Qualifizierer auf Verweistyp angewendet; wird ignoriert
Compilerwarnung (Stufe 1) C4182 Die #include-Schachtelungsebene ist „nest_count“ tief; Endlosrekursion möglich
Compilerwarnung (Stufe 1) C4183 identifier“: Rückgabetyp fehlt; Memberfunktion, die „int“ zurückgibt, wird angenommen.
Compilerwarnung (Stufe 1) C4185 Das unbekannte #import-Attribut „attribute“ wird ignoriert.
Compilerwarnung (Stufe 1) C4186 #import-Attribut „attribute“ erfordert „argument_count“ Argumente; ignoriert
Compilerwarnung (Stufe 1) C4187 #import-Attribute „attribute1“ und „attribute2“ sind inkompatibel. Beide werden ignoriert.
Compilerwarnung (Stufe 1) C4188 Konstanter Ausdruck ist keine Ganzzahl
Compilerwarnung (Stufe 3 und Stufe 4) C4189 identifier“: Lokale Variable ist initialisiert, aber nicht referenziert.
Compilerwarnung (Stufe 1) C4190 Für „identifier1“ wurde C-Bindung angegeben, es wird aber UDT „identifier2“ zurückgegeben, was mit C inkompatibel ist.
Compilerwarnung (Stufe 3, deaktiviert) C4191 Vorgang“: unsichere Konvertierung von „Typ des Ausdrucks“ in „erforderlicher Typ
Ein Funktionsaufruf mithilfe des resultierenden Zeigers kann zu einem Programmfehler führen.
Compilerwarnung (Stufe 3) C4192 Automatischer Ausschluss von „identifier“ während des Importierens der Typbibliothek „library
Compilerwarnung (Stufe 3) C4193 #pragma warning(pop): keine übereinstimmende „#pragma warning(push)
Compilerwarnung (Stufe 1) C4194 #pragma start_map_region kann nicht geschachtelt werden, wird ignoriert.
Compilerwarnung (Stufe 1) C4195 #pragma stop_map_region ohne übereinstimmende #pragma start_map_region verwendet; wird ignoriert.
Compilerwarnung (Stufe 1) C4196 token1“' oder „token2“ erwartet, „token3“ gefunden
Compilerwarnung (Stufe 3) C4197 type“: volatile auf der höchsten Ebene bei Umwandlung wird ignoriert.
Compilerwarnung (Stufe 1, Stufe 2, Stufe 3 und Stufe 4) C4199 message

Weitere Informationen

C/C++-Compiler und -Buildtools: Fehler und Warnungen
Compilerwarnungen C4000 bis C5999