/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
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.
Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.
Aggiungere
/Zc:externConstexpr
o/Zc:externConstexpr-
al riquadro Opzioni aggiuntive: .