Microsoft C/C++-Compilerwarnungen C5200 bis C5399
Die Artikel in diesem Abschnitt beschreiben Microsoft C/C++-Compilerwarnungen C5200 bis C5399.
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 1) C5200 | Das Feature „feature-name“ erfordert das Compiler-Flag „option-name“ |
Compilerwarnung (Stufe 1) C5201 | Eine Moduldeklaration kann nur am Anfang einer Übersetzungseinheit vorkommen, wenn kein globales Modulfragment verwendet wird. |
Compilerwarnung (Stufe 1) C5202 | Ein globales Modulfragment darf nur Präprozessoranweisungen enthalten. |
Compilerwarnung (Stufe 1) C5203 | Ein in Klammern gesetzter Deklaratorname nach „explicit“ wird in C++20 als explicit-Spezifizierer betrachtet. |
Compilerwarnung (Stufe 3, deaktiviert) C5204 | „type-name“: Die Klasse besitzt virtuelle Funktionen, aber der zugehörige triviale Destruktor ist nicht virtuell; Instanzen von Objekten, die von dieser Klasse abgeleitet werden, werden möglicherweise nicht korrekt zerstört. |
Compilerwarnung (Stufe 4) C5205 | Das Löschen einer abstrakten Klasse „type-name“ mit einem nicht virtuellen Destruktor führt zu einem nicht definierten Verhalten. |
Compilerwarnung (Stufe 3) C5206 | Abgeleitete Rückgabetypen für Coroutinen sind keine Standarderweiterung. |
Compilerwarnung (Stufe 1) C5207 | die einfache Anforderung bestätigt die Gültigkeit des Ausdrucks „e->id “. Meinten Sie „{ e } -> id “? Sie können die Warnung mithilfe von „{ e->id } “ unterdrücken. |
Compilerwarnung (Stufe 1) C5208 | Eine unbenannte Klasse, die im typedef -Namen verwendet wird, kann keine anderen Member als nicht statische Datenmember, Memberenumerationen oder Memberklassen deklarieren. |
Compilerwarnung (Stufe 1) C5209 | Die C++20-Syntax für „init-capture“ wurde in „& …opt identifier initializer“ geändert. |
Compilerwarnung (Stufe 1) C5210 | „name“ ist kein gültiger Verweis auf eine Headereinheit und wird ignoriert. |
Compilerwarnung (Stufe 1) C5212 | „name“ ist kein gültiger benannter Verweis und wird als Verweis auf eine Datei behandelt. |
Compilerwarnung (Stufe 1) C5213 | Der benannte Verweis „name“ wird als benannte Partition behandelt, aber der Name wurde nicht angegeben. Er wird als Dateiverweis behandelt. |
Compilerwarnung (Stufe 4, deaktiviert) C5214 | Das Anwenden von „modifier“ auf einen Operanden mit qualifiziertem Typ „volatile“ ist in C++20 veraltet. |
Compilerwarnung (Stufe 4, deaktiviert) C5215 | „name“ für einen Funktionsparameter mit qualifiziertem Typ „volatile“ ist in C++20 veraltet. |
Compilerwarnung (Stufe 4, deaktiviert) C5216 | „name“ für einen qualifizierten Rückgabetyp „volatile“ ist in C++20 veraltet. |
Compilerwarnung (Stufe 4, deaktiviert) C5217 | Eine strukturierte Bindungsdeklaration mit „volatile“ ist in C++20 veraltet. |
Compilerwarnung (Stufe 1) C5218 | „delete“ mit Zerstörung kann bei Verwendung der nicht konformen Schalter „/Zc:sizedDealloc- “ oder „/Zc:alignedNew- “ zu einem unerwarteten Verhalten führen. |
Compilerwarnung (Stufe 2, deaktiviert) C5219 | implizite Konvertierung von „type-1“ in „type-2“, mögliche Datenverluste |
Compilerwarnung (Stufe 4, deaktiviert) C5220 | „name“: Ein nicht statischer Datenmember mit dem qualifizierten Typ „volatile“ impliziert nicht länger, dass vom Compiler generierte copy/move-Konstruktoren und Kopieren/Verschieben-Zuweisungsoperatoren nicht trivial sind. |
Compilerwarnung (Stufe 1) C5221 | xfg::rename ist veraltet. |
Compilerwarnung (Stufe 3) C5222 | „attribute-name“: Alle nicht bereichsbezogenen Attributnamen sind für die zukünftige Standardisierung reserviert. |
Compilerwarnung (Stufe 3) C5223 | Alle Attributnamen im Attributnamespace „msvc“ sind für die Implementierung reserviert. |
Compilerwarnung (Stufe 3) C5224 | Alle Attributnamen im Attributnamespace „namespace-name“ sind für die zukünftige Standardisierung reserviert. |
Compilerwarnung (Stufe 1) C5225 | „symbol“: Die in einem privaten Modulfragment definierte exportierte Inlinefunktion ist keine Standarderweiterung. |
Compilerwarnung (Stufe 1) C5226 | „symbol“: Die in einem privaten Modulfragment definierte exportierte Vorlage weist keine erreichbare Instanziierung auf. |
Compilerwarnung (Stufe 4) C5227 | Nicht dem Standard entsprechende Erweiterung. „symbol“ wurde in „value“ aufgelöst. Dies ist bei Aktivierung von /permissive- nicht sichtbar. |
Compilerwarnung (Stufe 4) C5228 | Nicht standardmäßige Erweiterung, „identifier“ wurde in ein Element einer abhängigen Basis aufgelöst. Dieser Lookup-Vorgang ist unter /permissive- nicht zulässig. |
Compilerwarnung (Stufe 4) C5229 | Nicht dem Standard entsprechende Erweiterung. Die Hidden Friend-Funktion „function-name“ wurde durch eine Namenssuche gefunden, die unter /permissive- nicht zulässig ist. |
Compilerwarnung C5230 | Nicht dem Standard entsprechende Erweiterung „identifier“ wurde zu „symbol-1“ unter /permissive aufgelöst. Unter /permissive- würde es zu „symbol-2“ aufgelöst. |
Compilerwarnung (Stufe 3) C5231 | Der Ausdruck „co_await promise.final_suspend() “ muss nicht ausgelöst werden. |
Compilerwarnung (Stufe 1) C5232 | In C++20 ruft dieser Vergleich rekursiv „name“ auf. |
Compilerwarnung (Stufe 4, deaktiviert) C5233 | Die explizite Lambdaerfassung „identifier“ wird nicht verwendet. |
Compilerwarnung (Stufe 1) C5234 | Dateisystemfehler: „filename“ ist kein gültiger Headername und wird ignoriert. |
Compilerwarnung (Stufe 1) C5235 | JSON-Analysefehler:message; „filename“ wird ignoriert. |
Compilerwarnung (Stufe 1) C5236 | JSON falsch formatiert: message; „filename“ wird ignoriert. |
Compilerwarnung (Stufe 1) C5237 | Der Headereinheitseintrag „name“ kann nicht in eine Headerdatei in „filename“ aufgelöst werden. Der Eintrag wird ignoriert. |
Compilerwarnung (Stufe 1) C5238 | Dateisystemfehler: „filename“ kann nicht zum Lesen geöffnet werden und wird ignoriert. |
Compilerwarnung (Stufe 4) C5239 | „symbol“: Potenziell auslösende Funktion, die von einer Funktion als __declspec(nothrow) deklarierten Funktion aufgerufen wurde. Nicht definiertes Verhalten kann auftreten, wenn eine Ausnahme ausgelöst wird. |
Compilerwarnung (Stufe 4) C5240 | „attribute-name“: Das Attribut wird an dieser syntaktischen Position ignoriert. |
Compilerwarnung (Stufe 1) C5241 | Die Verwendung von „/exportHeader “ für die Suche nach „header-name“ ist veraltet. Verwenden Sie stattdessen „/headerName:name value=filename“. |
Compilerwarnung (Stufe 1) C5242 | Syntaxfehler in Pragma „Identifier“ |
Compilerwarnung (Stufe 1, deaktiviert) C5243 | „type-name“: Die Verwendung der unvollständigen Klasse „class-name“ kann potenziell zu einem Definitionsregelverstoß durch eine ABI-Einschränkung führen. |
Compilerwarnung (Stufe 1) C5244 | „#include <Dateiname>“ im Geltungsbereich von Modul „module-name-1“ ist offenbar fehlerhaft. Erwägen Sie, diese Anweisung vor die Moduldeklaration zu verschieben, oder ersetzen Sie den Texteinschluss durch „import <module-name-2>;“. |
Compilerwarnung (Stufe 4, deaktiviert) C5245 | „function“: Eine nicht referenzierte Funktion mit interner Verknüpfung wurde entfernt. |
Compilerwarnung (Stufe 1, deaktiviert) C5246 | „member“: Die Initialisierung eines Teilobjekts muss in geschweifte Klammern eingeschlossen werden. |
Compilerwarnung (Stufe 1, deaktiviert) C5247 | Der Abschnitt „section-name“ ist für die dynamische C++-Initialisierung reserviert. Das manuelle Erstellen des Abschnitts beeinträchtigt die dynamische C++-Initialisierung und führt möglicherweise zu einem nicht definierten Verhalten. |
Compilerwarnung (Stufe 1, deaktiviert) C5248 | Der Abschnitt „section-name“ ist für die dynamische C++-Initialisierung reserviert. Manuell in den Abschnitt eingesetzte Variablen werden möglicherweise optimiert, und ihre Reihenfolge im Vergleich zu vom Compiler generierten dynamischen Initialisierern ist nicht angegeben. |
Compilerwarnung (Stufe 1, deaktiviert) C5249 | „bitfield“ vom Typ „enumeration_name“ weist benannte Enumeratoren mit Werten auf, die nicht in der angegebenen Bit-Feldbreite von „bitfield_width“ dargestellt werden können. |
Compilerwarnung (Stufe 3, deaktiviert) C5250 | „function_name“: Intrinsische Funktion nicht deklariert. |
Compilerwarnung (Stufe 4, deaktiviert) C5251 | „segment-name“ wurde geändert, nachdem der Header eingeschlossen wurde. |
Compilerwarnung (Stufe 4) C5252 | Mehrere verschiedene Typen führten zu demselben XFG-Typhash hash-value. Die PDB zeichnet nur Informationen für einen von ihnen auf. |
Compilerwarnung (Stufe 4) C5253 | Eine nicht lokale Lambdafunktion kann keinen Erfassungsstandard aufweisen. |
Compilerwarnung (Stufe 4, deaktiviert) C5254 | Für das Sprachfeature „knappe statische Aussage“ (terse static assert) ist das Compiler-Flag „/std:c++17“ erforderlich. |
Compilerwarnung (Stufe 3) C5255 | Nicht beendetes bidirektionales Zeichen gefunden: „U+XXXX“ |
Compilerwarnung (Stufe 1, deaktiviert) C5256 | „enumeration“: Eine nicht definierende Deklaration einer Enumeration mit einem festen zugrunde liegenden Typ ist nur als eigenständige Deklaration zulässig. |
Compilerwarnung (Stufe 1 oder 4) C5257 | „enumeration“: Die Enumeration wurde zuvor ohne einen festen zugrunde liegenden Typ deklariert. |
Compilerwarnung (Stufe 4, deaktiviert) C5258 | Die explizite Erfassung von „symbol“ ist für diese Verwendung nicht erforderlich. |
Compilerwarnung (Stufe 4, deaktiviert) C5259 | „specialized-type“: Explizite Spezialisierung erfordert „template <>“. |
Compilerwarnung (Stufe 1) C5260 | Die Konstantenvariable „variable-name“ weist eine interne Bindung in einem eingeschlossenen Headerdateikontext auf, aber eine externe Verknüpfung im importierten Headereinheitskontext. Erwägen Sie, sie auch als „inline“ zu deklarieren, wenn sie über Übersetzungseinheiten hinweg freigegeben wird, oder „statisch“, um die Absicht auszudrücken, sie lokal für diese Übersetzungseinheit zu verwenden. |
Compilerwarnung (Stufe 2) C5261 | Kein Integertyp kann alle Enumeratorwerte in der Enumeration „enum-name“ darstellen |
Compilerwarnung (Stufe 1, Fehler, deaktiviert) C5262 | Hier erfolgt ein impliziter Fall-Through. Fehlt eine „break“-Anweisung? Verwenden Sie [[fallthrough]] , wenn eine break -Anweisung zwischen Fällen absichtlich weggelassen wird. |
Compilerwarnung (Stufe 4, deaktiviert) C5263 | Das Aufrufen von „std::move “ für ein temporäres Objekt verhindert die Kopierauslassung. |
Compilerwarnung (Stufe 4, deaktiviert) C5264 | „variable-name“: Die Variable „const“ wird nicht verwendet. |
Compilerwarnung (Stufe 1) C5265 | Der Suchpfad „path“ kann nicht geöffnet werden. |
Compilerwarnung (Stufe 4, deaktiviert) C5266 | Der Qualifizierer „const“ für den Rückgabetyp hat keine Auswirkung. |
Compilerwarnung C5267 | Definition des impliziten Kopierkonstruktors/Zuweisungsoperators für „type“ ist veraltet, da er über einen benutzerseitig bereitgestellten Zuweisungsoperator/Kopierkonstruktor verfügt. |
Compilerwarnung (Stufe 1) C5268 | Fehler beim Zuordnen des Speichers an der festen Adresse 0xaddress. Verwenden Sie /Yb , um eine bestimmte Adressbasis anzugeben, wenn bitgleiche PCH-Dateien erforderlich sind. |
Compilerwarnung (Stufe 1) C5269 | Fehler beim Zuordnen des PCH-Speichers an der festen Adresse 0xaddress. Verwenden Sie /Ym , um eine bestimmte Adressbasis anzugeben, wenn bitgleiche PCH-Dateien erforderlich sind. |
Compilerwarnung (Stufe 3) C5270 | „value“ ist für Option „switch name“ nicht zulässig. Zulässige Werte: value list |
Compilerwarnung (Stufe 4) C5271 | Die zuvor importierte Assembly „assembly1“ hat denselben Namen wie Assembly „assembly2“, die importiert wird. Ist dies beabsichtigt? |
Compilerwarnung (Stufe 1) C5272 | Das Auslösen eines Objekts vom nicht kopierbaren Typ „type“ ist nicht standardmäßig. Wenn eine Kopie zur Laufzeit benötigt wird, wird sie wie durch memcpy erstellt. |
Compilerwarnung (Stufe 1) C5273 | Verhaltensänderung: _Alignas wird für anonymen Typ nicht mehr ignoriert (höher gestufte Member werden ausgerichtet) |
Compilerwarnung (Stufe 1) C5274 | Verhaltensänderung: _Alignas gilt nicht mehr für den Typ „type“ (gilt nur für deklarierte Datenobjekte) |
Compilerwarnung (Fehler) C5275 | Vordergründige Assembly „name“ wird unter „/clr “ importiert; fehlt die Option „/clr:netcore “? |
Compilerwarnung (Stufe 1, Fehler) C5300 | „#pragma omp atomic“: Linker Operand von „operator“ muss links neben dem Zuordnungsausdruck übereinstimmen. |
Compilerwarnung (Stufe 1) C5301 | „#pragma omp for“: „loop-index“ nimmt zu, während die Schleifenbedingung „comparison“ verwendet; Schleife ohne Abbruch? |
Compilerwarnung (Stufe 1) C5302 | „#pragma omp for“: „loop-index“ nimmt ab, während die Schleifenbedingung „comparison“ verwendet; Schleife ohne Abbruch? |
Compilerwarnung (Stufe 1) C5303 | Die mit [[msvc::intrinsic]] gekennzeichnete Funktion hat keine No-Op-Umwandlung zur Folge. |
Compilerwarnung (Stufe 1) C5304 | Eine Deklaration, die durch die using-Deklaration „name1“ aus diesem Modul exportiert wurde, hat eine interne Verknüpfung, und die Verwendung eines solchen Namens außerhalb des Moduls ist falsch formiert. Erwägen Sie, „name2“ als „inline “ zu deklarieren, um sie außerhalb dieses Moduls zu verwenden. |
Compilerwarnung (Stufe 1) C5305 | „name“: eine explizite Instanziierungsdeklaration, die auf eine explizite Instanziierungsdefinition folgt, wird ignoriert. |
Weitere Informationen
C/C++-Compiler und -Buildtools: Fehler und Warnungen
Compilerwarnungen C4000 bis C5999