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.
Mit /Zc:__cplusplus der Compileroption kann das __cplusplus Präprozessormakro einen aktualisierten Wert für die Unterstützung neuer C++-Sprachstandards melden. Standardmäßig gibt Visual Studio immer den Wert 199711L für das __cplusplus Präprozessormakro zurück.
Syntax
/Zc:__cplusplus[-]
Hinweise
Das __cplusplus Präprozessormakro wird häufig verwendet, um unterstützung für eine bestimmte Version des C++-Standards zu melden. Da viele vorhandenen Code scheinbar vom Wert dieses Makroabgleichs 199711Labhängen, ändert der Compiler nicht den Wert des Makros, es sei denn, Sie melden sich explizit mit der /Zc:__cplusplus Compileroption an. Die /Zc:__cplusplus Option ist ab Visual Studio 2017, Version 15.7, verfügbar und ist standardmäßig deaktiviert. In früheren Versionen von Visual Studio und standardmäßig oder falls /Zc:__cplusplus- angegeben, gibt Visual Studio den Wert 199711L für das __cplusplus Präprozessormakro zurück. Die Option /permissive- aktiviert /Zc:__cplusplus nicht.
Wenn die /Zc:__cplusplus Option aktiviert ist, hängt der vom __cplusplus Makro gemeldete Wert von der /std Versionsoptionseinstellung ab. Diese Tabelle zeigt die möglichen Werte für das Makro:
/Zc:__cplusplus Option |
/std Option |
Wert vom Typ __cplusplus |
|---|---|---|
Zc:__cplusplus |
/std:c++14 (Standard) |
201402L |
Zc:__cplusplus |
/std:c++17 |
201703L |
Zc:__cplusplus |
/std:c++20 |
202002L |
Zc:__cplusplus |
/std:c++latest |
siehe Text |
Zc:__cplusplus- (deaktiviert) |
Beliebiger Wert | 199711L |
| Nicht angegeben | Beliebiger Wert | 199711L |
Der Compiler unterstützt keine Standardoptionen für C++98, C++03 oder C++11. Die /std:c++20 Option ist ab Visual Studio 2019, Version 16.11, verfügbar. Der Wert der __cplusplus /std:c++latest Option hängt von der Version von Visual Studio ab. Es ist immer mindestens ein höherer als der höchste unterstützte __cplusplus Standardwert, der von Ihrer Version von Visual Studio unterstützt wird.
Verwenden Sie zum präziseren Erkennen von Änderungen am Compilertoolset das _MSC_VER vordefinierte Makro. Der Wert dieses integrierten Makros wird für jedes Toolsetupdate in Visual Studio 2017 und höheren Versionen heraufgesetzt. Das _MSVC_LANG vordefinierte Makro meldet die Standardversion, ob die /Zc:__cplusplus Option aktiviert oder deaktiviert ist. Wenn /Zc:__cplusplus diese Option aktiviert ist, __cplusplus hat sie denselben Wert wie _MSVC_LANG.
So legen Sie diese Compileroption in Visual Studio fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.
Fügen Sie den Bereich "Zusätzliche
/Zc:__cplusplusOptionen" hinzu oder/Zc:__cplusplus-fügen Sie sie hinzu.
Siehe auch
/Zc (Konformität)
/std (Standardversion für die Sprache festlegen)
Vordefinierte Makros