/Zc:externConstexpr
(Włącz zmienne constexpr extern)
Opcja /Zc:externConstexpr
kompilatora informuje kompilator o zgodności ze standardem C++ i zezwalaniu na połączenie zewnętrzne dla constexpr
zmiennych. Domyślnie program Visual Studio zawsze udostępnia zmienną wewnętrzną constexpr
link, nawet jeśli określisz extern
słowo kluczowe.
Składnia
/Zc:externConstexpr
[-
]
Uwagi
Opcja /Zc:externConstexpr
kompilatora powoduje, że kompilator stosuje połączenie zewnętrzne do zmiennych zadeklarowanych przy użyciu polecenia extern constexpr
.
We wcześniejszych wersjach programu Visual Studio program Visual Studio domyślnie lub jeśli /Zc:externConstexpr-
jest określony, program Visual Studio stosuje połączenie wewnętrzne ze constexpr
zmiennymi, nawet jeśli extern
słowo kluczowe jest używane. Ta /Zc:externConstexpr
opcja jest dostępna od programu Visual Studio 2017 Update 15.6. i jest domyślnie wyłączony.
Od wersji Visual Studio 2022 Update 17.6 /permissive-
opcja włącza zarówno program , jak /Zc:externConstexpr
i /Zc:lambda
. W poprzednich wersjach /permissive-
nie włączono żadnej z nich.
Jeśli plik nagłówka zawiera zadeklarowaną extern constexpr
zmienną , należy ją oznaczyć __declspec(selectany)
, aby scalić zduplikowane deklaracje do pojedynczego wystąpienia w połączonym pliku binarnym. W przeciwnym razie mogą pojawić się błędy konsolidatora, na przykład LNK2005, w przypadku naruszeń reguły jednej definicji.
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:externConstexpr
lub/Zc:externConstexpr-
do okienka Dodatkowe opcje: .