Freigeben über


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 viele Arten von Fehlern und Warnungen melden. 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 meldenaus oder senden Sie einen Vorschlag mithilfe von 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++.

Warnmeldungen

Warnung Nachricht
Compilerwarnung (Stufe 4, nicht mehr ausgegeben) C4001 Dem Standard nicht entsprechende Erweiterung „einzeiliger Kommentar“ wurde verwendet.
Compilerwarnung (Ebene 1, Fehler) C4002- Zu viele Argumente für den Aufruf des funktionsähnlichen Makros „identifier“.
Compilerwarnung (Ebene 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; es wird angenommen, dass es extern ist und einen int-Wert zurückgibt.
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 'Funktion': basierter Zeiger wurde zu unprototypierter Funktion übergeben: Parameter Parameternummer
Compilerwarnung (Stufe 1) C4024 'Funktion': verschiedene Typen für formale und tatsächliche 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 Compiler-Limit: Browserausgabe wird beendet.
Compilerwarnung (Stufe 1) C4042 identifier“: Besitzt unzulässige Speicherklasse
Compilerwarnung (Stufe 1) C4045 array“: Arraygrenzenüberlauf
Compilerwarnung (Stufe 1) C4047 operator“: „identifier1“ unterscheidet sich in der Dereferenzierungsebene 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“ unterscheidet sich in der Indirektion zu 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 dem Typ 'Typname' 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 Der erwartete Pragma-Parameter sollte „on“ oder „off“ sein.
Compilerwarnung (Stufe 1) C4086 Es wird erwartet, dass das Pragma-Parameter '1', '2', '4', '8' oder '16' ist.
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 Der erwartete Pragma-Parameter sollte „restore“ oder „off“ sein.
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 'Bezeichner': nicht referenziertes 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 line_count (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 einen Deklarator im alten Stil.
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 (Ebene 1, Fehler) C4141 "Modifizierer": mehrmals verwendet
Compilerwarnung (Stufe 1) C4142 identifier“: Neudefinition eines Typs ohne Folgen
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 Rückgabeadresse einer lokalen oder temporären Variablen: optional_context
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; es wird angenommen, dass es sich um eine Memberfunktion handelt, die „int“ zurückgibt.
Compilerwarnung (Stufe 1) C4185 Das unbekannte #import-Attribut „attribute“ wird ignoriert
Compilerwarnung (Stufe 1) C4186 #import-Attribut „attribute“ erfordert argument_count-Argumente; wird 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 'Identifier1' hat eine C-Verknüpfung angegeben, gibt jedoch 'Identifier2' zurück, die mit C nicht kompatibel 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 passende „#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 nachricht

Siehe auch

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