Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Možnost /Zc:__cplusplus kompilátoru umožňuje, aby makro preprocesoru __cplusplus hlásilo aktualizovanou hodnotu pro podporu nedávných jazykových standardů C++. Ve výchozím nastavení sada Visual Studio vždy vrátí hodnotu 199711L makra preprocesoru __cplusplus .
Syntaxe
/Zc:__cplusplus[-]
Poznámky
Makro preprocesoru __cplusplus se běžně používá k vytváření sestav podpory pro konkrétní verzi standardu C++. Vzhledem k tomu, že se zdá, že hodně existujícího kódu závisí na hodnotě tohoto porovnávání 199711Lmaker , kompilátor nezmění hodnotu makra, pokud se explicitně nepřihlásíte pomocí možnosti kompilátoru /Zc:__cplusplus . Tato /Zc:__cplusplus možnost je dostupná od sady Visual Studio 2017 verze 15.7 a je ve výchozím nastavení vypnutá. V dřívějších verzích sady Visual Studio a ve výchozím nastavení nebo pokud /Zc:__cplusplus- je zadána, vrátí Visual Studio hodnotu 199711L pro makro preprocesoru __cplusplus . Tato /permissive- možnost nepovoluje /Zc:__cplusplus.
/Zc:__cplusplus Pokud je tato možnost povolená, hodnota hlášená __cplusplus makrem závisí na /std nastavení možností verze. V této tabulce jsou uvedeny možné hodnoty makra:
/Zc:__cplusplus možnost |
/std možnost |
__cplusplus hodnota |
|---|---|---|
Zc:__cplusplus |
/std:c++14 (výchozí) |
201402L |
Zc:__cplusplus |
/std:c++17 |
201703L |
Zc:__cplusplus |
/std:c++20 |
202002L |
Zc:__cplusplus |
/std:c++latest |
zobrazit text |
Zc:__cplusplus- (zakázáno) |
Libovolná hodnota | 199711L |
| Neurčeno | Libovolná hodnota | 199711L |
Kompilátor nepodporuje možnosti standardů pro C++98, C++03 nebo C++11. Tato /std:c++20 možnost je dostupná od sady Visual Studio 2019 verze 16.11. Hodnota __cplusplus s /std:c++latest možností závisí na verzi sady Visual Studio. Vždy je to alespoň jedna vyšší než nejvyšší podporovaná standardní hodnota podporovaná __cplusplus vaší verzí sady Visual Studio.
Pokud chcete jemně odstupňovanou detekci změn sady nástrojů kompilátoru, použijte _MSC_VER předdefinované makro. Hodnota tohoto předdefinovaného makra se zvýší pro každou aktualizaci sady nástrojů v sadě Visual Studio 2017 a novějších verzích. Předdefinované _MSVC_LANG makro hlásí standardní verzi bez ohledu na /Zc:__cplusplus to, jestli je tato možnost povolená nebo zakázaná. Pokud /Zc:__cplusplus je povoleno, __cplusplus má stejnou hodnotu jako _MSVC_LANG.
Nastavení této možnosti kompilátoru v sadě Visual Studio
Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.
Vyberte stránku vlastností příkazového řádku C/C++>Vlastnosti>konfigurace.
Přidejte
/Zc:__cplusplusnebo/Zc:__cplusplus-do podokna Další možnosti:
Viz také
/Zc (Shoda)
/std (Určení standardní verze jazyka)
Předdefinovaná makra