Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Opcja /Zc:__cplusplus kompilatora umożliwia __cplusplus makro preprocesora raportowanie zaktualizowanej wartości dla obsługi najnowszych standardów języka C++. Domyślnie program Visual Studio zawsze zwraca wartość 199711L makra __cplusplus preprocesora.
Składnia
/Zc:__cplusplus[-]
Uwagi
__cplusplus Makro preprocesora jest często używane do raportowania obsługi określonej wersji standardu C++. Ponieważ wydaje się, że wiele istniejących kodu zależy od wartości tego makra pasującego 199711L, kompilator nie zmienia wartości makra, chyba że jawnie wyrazisz zgodę na użycie opcji kompilatora /Zc:__cplusplus . Opcja /Zc:__cplusplus jest dostępna od wersji 15.7 programu Visual Studio 2017 i jest domyślnie wyłączona. We wcześniejszych wersjach programu Visual Studio i domyślnie lub jeśli /Zc:__cplusplus- jest określona, program Visual Studio zwraca wartość 199711L makra __cplusplus preprocesora. Opcja /permissive- nie włącza /Zc:__cplusplusopcji .
Po włączeniu /Zc:__cplusplus opcji wartość zgłoszona przez __cplusplus makro zależy /std od ustawienia opcji wersji. W tej tabeli przedstawiono możliwe wartości makra:
/Zc:__cplusplus opcja |
/std opcja |
__cplusplus wartość |
|---|---|---|
Zc:__cplusplus |
/std:c++14 (domyślne) |
201402L |
Zc:__cplusplus |
/std:c++17 |
201703L |
Zc:__cplusplus |
/std:c++20 |
202002L |
Zc:__cplusplus |
/std:c++latest |
zobacz tekst |
Zc:__cplusplus- (wyłączone) |
Dowolna wartość | 199711L |
| Nieokreślona | Dowolna wartość | 199711L |
Kompilator nie obsługuje opcji standardów dla języków C++98, C++03 ani C++11. Ta /std:c++20 opcja jest dostępna od wersji 16.11 programu Visual Studio 2019. Wartość __cplusplus z opcją /std:c++latest zależy od wersji programu Visual Studio. Zawsze jest to co najmniej jedna wyższa niż najwyższa obsługiwana wartość standardowa obsługiwana __cplusplus przez wersję programu Visual Studio.
Aby uzyskać bardziej szczegółowe wykrywanie zmian w zestawie narzędzi kompilatora, użyj wstępnie zdefiniowanego _MSC_VER makra. Wartość tego wbudowanego makra jest zwiększana dla każdej aktualizacji zestawu narzędzi w programie Visual Studio 2017 i nowszych wersjach. Wstępnie _MSVC_LANG zdefiniowane makro zgłasza wersję standardową niezależnie od tego, czy /Zc:__cplusplus opcja jest włączona, czy wyłączona. Po /Zc:__cplusplus włączeniu __cplusplus parametru ma taką samą wartość jak _MSVC_LANG.
Aby ustawić tę opcję kompilatora w programie Visual Studio
Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).
Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.
Dodaj
/Zc:__cpluspluslub/Zc:__cplusplus-do okienka Dodatkowe opcje: .
Zobacz też
/Zc (Zgodność)
/std (Określ wersję standardową języka)
Wstępnie zdefiniowane makra