/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 constexprzmienną , 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

  1. 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).

  2. Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.

  3. Dodaj /Zc:externConstexpr lub /Zc:externConstexpr- do okienka Dodatkowe opcje: .

Zobacz też

auto Słowa kluczowego
permissive
/Zc (Zgodność)