Standardmäßig deaktivierte Compilerwarnungen
Der Compiler schließt Warnungen ein, die standardmäßig deaktiviert sind, da die meisten Benutzer sieh nicht sehen möchten. Sie können jedoch diese Warnungen aktivieren, indem Sie eine der folgenden Optionen verwenden.
#pragma warning(default : warning_number )
Die angegebene Warnung (warning_number) wird auf der Standardebene aktiviert. Dokumentation für die Warnung enthält die Standardebene der Warnung.#pragma warning( warning_level : warning_number )
Die angegebene Warnung (warning_number) wird auf der angegebenen Ebene (warning_level) aktiviert./Wall
/Wall aktiviert alle Warnungen, die standardmäßig deaktiviert sind.
Standardmäßig werden die folgenden Warnungen deaktiviert.
C4061 (Ebene 4) |
Enumerator 'identifier' in einem Schalter der Enumeration 'enumeration' wird nicht explizit von einer case-Bezeichnung gehandhabt |
C4062 (Ebene 3) |
Enumerator 'identifier' in switch (enum) 'enumeration' wird nicht verarbeitet |
C4191 (Ebene 3) |
'operator/operation': unsichere Konvertierung von 'type of expression' zu 'type required' |
C4242 (Ebene 4) |
'identifier': Umwandlung von 'type1' in 'type2', Datenverlust ist möglich |
C4254 (Ebene 4) |
'operator': Umwandlung von 'type1' in 'type2', Datenverlust ist möglich |
C4255 (Ebene 4) |
'function': Kein Funktionsprototyp angegeben: '()' wird in '(void)' konvertiert |
C4263 (Ebene 4) |
'Funktion': Memberfunktion überschreibt keine virtuelle Memberfunktion einer Basisklasse |
C4264 (Ebene 1) |
'virtual_function': Keine Überschreibung für virtuelle Memberfunktion der Basis 'class' verfügbar; die Funktion wird ausgeblendet |
C4265 (Ebene 3) |
'Klasse': Die Klasse verfügt über virtuelle Funktionen, der Destruktor ist jedoch nicht virtuell |
C4266 (Ebene 4) |
'function': Keine Überschreibung für virtuelle Memberfunktion der Basis 'type' verfügbar; die Funktion wird ausgeblendet |
C4287 (Ebene 3) |
'Operator': Konflikt zwischen vorzeichenloser und negativer Konstante |
C4289 (Ebene 4) |
Nicht dem Standard entsprechende Erweiterung: 'var': Die loop-Steuerelementvariable, die in der for-Schleife deklariert wurde, wird außerhalb des for-Schleifenbereichs verwendet |
C4296 (Ebene 4) |
'Operator': der Ausdruck ist immer false |
C4302 (Ebene 2) |
'conversion': Verkürzung von 'type1' in 'type2' |
C4311 (Ebene 1) |
'Variable': Zeigerverkürzung von 'Typ' zu 'Typ' |
C4312 (Ebene 1) |
'Operation': Konvertierung von 'Typ1' in größeren Typ 'Typ2' |
C4339 (Ebene 4) |
'Typ' : Die Verwendung eines undefinierten Typs wurde in CLR-Metadaten entdeckt. Das Verwenden dieses Typs führt möglicherweise zu einer Laufzeitausnahme |
C4342 (Ebene 1) |
Verhaltensänderung: 'Funktion' wird aufgerufen, in früheren Versionen wurde jedoch ein Memberoperator aufgerufen. |
C4350 (Ebene 1) |
Verhaltensänderung: 'Member1' wird anstelle von 'Member2' aufgerufen |
"this": Wird in der Basisliste für den Memberinitialisierer verwendet |
|
C4365 (Ebene 4) |
'action': Konvertierung von 'type_1' zu 'type_2', Konflikt zwischen 'signed' und 'unsigned' |
C4370 (Ebene 3) |
Durch bessere Verpackung wurde das Klassenlayout geändert, das vorher eine andere Compilerversion hatte |
C4371 (Ebene 3) |
Durch bessere Verpackung des Members 'member' wurde das Klassenlayout geändert, das vorher eine andere Compilerversion hatte |
C4388 (Ebene 4) |
Konflikt zwischen 'signed' und 'unsigned' |
C4412 (Ebene 2) |
'function': Funktionssignatur enthält Typ 'type'; C++-Objekte können nicht sicher zwischen reinem und gemischtem oder systemeigenem Code übergeben werden |
C4431 (Ebene 4) |
Fehlender Typspezifizierer - int wird angenommen. Hinweis: default-int wird von C++ nicht unterstützt |
C4435 (Ebene 4) |
'class1' : Das Objektlayout unter „/vd2“ wird aufgrund der virtuellen Basis 'class2' geändert. |
C4437 (Ebene 4) |
dynamic_cast von virtueller Basis 'class1' zu 'class2' schlägt möglicherweise bei einigen Kontexten fehl |
C4444 (Ebene 3) |
Höchste Ebene '__unaligned' ist in diesem Kontext nicht implementiert |
C4471 (Ebene 4) |
Für eine Vorwärtsdeklaration einer Enumeration ohne Bereichseinschränkung ist ein zugrunde liegender Typ erforderlich (int wird angenommen). |
C4472 (Ebene 1) |
'Bezeichner' ist eine systemeigene Enumeration: Fügen Sie einen Zugriffsspezifizierer (privat/öffentlich) hinzu, um eine verwaltete Enumeration zu deklarieren |
C4514 (Ebene 4) |
'Funktion': Nicht referenzierte Inlinefunktion wurde entfernt |
C4536 (Ebene 4) |
'type name': Der Typenname ist größer als das Metadatenlimit von 'limit'-Zeichen |
C4545 (Ebene 1) |
Ausdruck vor dem Komma wird als Funktion ausgewertet, der eine Argumentliste fehlt |
C4546 (Ebene 1) |
Funktionsaufruf vor dem Komma ohne Argumentliste |
C4547 (Ebene 1) |
'Operator': Operator vor dem Komma hat keine Auswirkungen; Operator mit Nebeneffekten erwartet |
C4548 (Ebene 1) |
Ausdruck vor dem Komma hat keine Auswirkung; es wurde ein Ausdruck mit Nebeneffekt erwartet |
C4549 (Ebene 1) |
'operator': Operator vor dem Komma hat keine Auswirkungen. War 'operator' beabsichtigt? |
C4555 (Ebene 1) |
Der Ausdruck hat keine Auswirkungen; Ausdruck mit Nebeneffekten erwartet |
C4557 (Ebene 3) |
'__assume' enthält den Effekt 'Effekt' |
C4571 (Ebene 4) |
Information: Die catch(...)-Semantik wurde gegenüber Visual C++ 7.1 geändert; strukturierte Ausnahmen (SEH) werden nicht mehr abgefangen |
C4574 (Ebene 4) |
'identifier' wird als '0' definiert: beabsichtigten Sie, den '#if identifier' zu verwenden? |
C4608 (Ebene 3) |
'symbol1' wurde bereits von einem anderen Union-Member in der Initialisierungsliste initialisiert, 'symbol2' |
C4619 (Ebene 3) |
#pragma-Warnung: Keine Warnungsnummer 'number' vorhanden |
C4623 (Ebene 4) |
'Abgeleitete Klasse': Der Standardkonstruktor konnte nicht generiert werden, da auf einen Basisklassen-Standardkonstruktor nicht zugegriffen werden kann |
C4625 (Ebene 4) |
'Abgeleitete Klasse': Der Kopierkonstruktor konnte nicht generiert werden, da auf einen Basisklassen-Kopierkonstruktor nicht zugegriffen werden kann |
C4626 (Ebene 4) |
'Abgeleitete Klasse': Der Zuweisungsoperator konnte nicht generiert werden, da auf einen Basisklassen-Zuweisungsoperator nicht zugegriffen werden kann |
C4628 (Ebene 1) |
'digraphs' werden mit '-Ze' nicht unterstützt. Die Zeichensequenz 'Digraph' wird nicht als alternativer Token für 'Zeichen' interpretiert. |
C4640 (Ebene 3) |
'Instanz': Erstellen eines lokalen static-Objekts ist nicht threadsicher |
C4668 (Ebene 4) |
'Symbol' ist nicht als ein Präprozessormakro definiert, wird durch '0' für 'Direktiven' ersetzt |
C4682 (Ebene 4) |
'Symbol' : es wurde kein direktionales Parameterattribut angegeben, Standardwert [in] |
C4686 (Ebene 3) |
'benutzerdefinierter Typ': mögliche Verhaltensänderung, Änderung in der UDT gibt Aufrufkonvention zurück |
C4692 (Ebene 1) |
'Funktion': Die Signatur des nicht privaten Members enthält den privaten systemeigenen Assemblytyp 'systemeigener_Typ' |
C4710 (Ebene 4) |
'Funktion': Funktion ist nicht inline |
C4738 (Ebene 3) |
Das 32-Bit-Gleitkommaergebnis wird im Speicher gespeichert. Möglicherweise kommt es zu einem Leistungsverlust |
C4767 (Ebene 4) |
Der Bereichsname 'symbol' ist länger als 8 Zeichen und wird vom Linker abgeschnitten |
C4786 (Ebene 3) |
'symbol' : Objektname wurde auf 'number'-Zeichen in den Debuginformationen gekürzt |
C4820 (Ebene 4) |
'Bytes' Bytes Abstand nach dem Konstrukt 'member_name' |
C4826 (Ebene 2) |
Die Konvertierung von 'type1' in 'type2' ist signaturerweitert. Dies kann zu unerwartetem Laufzeitverhalten führen |
C4837 (Ebene 4) |
Es wurde ein Trigraph gefunden: '??%c' wurde durch '%c' ersetzt. |
C4905 (Ebene 1) |
Breites Zeichenfolgenliteral umgewandelt zu "LPSTR" |
C4906 (Ebene 1) |
Zeichenfolgenliteral umgewandelt zu "LPWSTR" |
C4917 (Ebene 1) |
'Deklarator': Eine GUID kann nur mit einer Klasse, einer Schnittstelle oder einem Namespace verbunden werden |
C4928 (Ebene 1) |
Unzulässige Kopierinitialisierung. Mehrere benutzerdefinierte Konvertierungen wurden implizit übernommen |
C4931 (Ebene 4) |
Es wird angenommen, dass die Typbibliothek für Anzahl-Bit-Pointer erstellt wurde |
C4946 (Ebene 1) |
reinterpret_cast wird zwischen verknüpften Klassen verwendet: 'Klasse1' und 'Klasse2' |
C4962 |
'Funktion': Profilgesteuerte Optimierungen wurden deaktiviert, da durch die Optimierungen eine Inkonsistenz zwischen den Profildaten verursacht wurde |
C4986 (Ebene 4) |
'Symbol': Ausnahmespezifikation stimmt mit der vorherigen Deklaration nicht überein |
C4987 (Ebene 4) |
Es wurde eine nicht standardmäßige Erweiterung verwendet: 'throw (...)' |
C4988 (Ebene 4) |
'Symbol': Variable, die außerhalb des Bereichs Klasse/Funktion deklariert wurde |