/Zc:externConstexpr (Abilitare le variabili extern constexpr)

L'opzione /Zc:externConstexpr del compilatore indica al compilatore di essere conforme allo standard C++ e consentire il collegamento esterno per constexpr le variabili. Per impostazione predefinita, Visual Studio fornisce sempre un constexpr collegamento interno variabile, anche se si specifica la extern parola chiave .

Sintassi

/Zc:externConstexpr[-]

Osservazioni:

L'opzione /Zc:externConstexpr del compilatore fa sì che il compilatore applichi il collegamento esterno alle variabili dichiarate tramite extern constexpr.

Nelle versioni precedenti di Visual Studio, per impostazione predefinita o se /Zc:externConstexpr- è specificato, Visual Studio applica il collegamento interno alle constexpr variabili anche se viene usata la extern parola chiave . L'opzione /Zc:externConstexpr è disponibile a partire da Visual Studio 2017 Update 15.6. e è disattivato per impostazione predefinita.

A partire da Visual Studio 2022 Update 17.6, l'opzione /permissive- abilita sia /Zc:externConstexpr che /Zc:lambda. Nelle versioni /permissive- precedenti, non ne è stato abilitato uno.

Se un file di intestazione contiene una variabile dichiarata extern constexpr, deve essere contrassegnata __declspec(selectany) per unire le dichiarazioni duplicate in una singola istanza del file binario collegato. In caso contrario, potrebbero essere visualizzati errori del linker, ad esempio LNK2005, per le violazioni della regola a definizione singola.

Per impostare questa opzione del compilatore in Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.

  3. Aggiungere /Zc:externConstexpr o /Zc:externConstexpr- al riquadro Opzioni aggiuntive: .

Vedi anche

auto Parola chiave
permissive
/Zc (Conformità)