/Zc:externConstexpr
(Activer les variables constexpr extern)
L’option /Zc:externConstexpr
du compilateur indique au compilateur de se conformer à la norme C++ et d’autoriser la liaison externe pour les constexpr
variables. Par défaut, Visual Studio donne toujours une constexpr
liaison interne variable, même si vous spécifiez le extern
mot clé.
Syntaxe
/Zc:externConstexpr
[-
]
Notes
L’option /Zc:externConstexpr
du compilateur entraîne l’application de la liaison externe aux variables déclarées à l’aide extern constexpr
de .
Dans les versions antérieures de Visual Studio, par défaut ou si /Zc:externConstexpr-
elle est spécifiée, Visual Studio applique une liaison interne aux constexpr
variables même si le extern
mot clé est utilisé. L’option /Zc:externConstexpr
est disponible à partir de Visual Studio 2017 Update 15.6. et est désactivé par défaut.
À partir de Visual Studio 2022 Update 17.6, l’option active à la /permissive-
fois /Zc:externConstexpr
et /Zc:lambda
. Dans les versions antérieures, /permissive-
n’a pas activé l’une ou l’autre.
Si un fichier d’en-tête contient une variable déclarée extern constexpr
, elle doit être marquée __declspec(selectany)
pour fusionner les déclarations dupliquées en une seule instance dans le fichier binaire lié. Sinon, vous pouvez voir des erreurs d’éditeur de liens, par exemple, LNK2005, pour les violations de la règle de définition unique.
Pour définir cette option de compilateur dans Visual Studio
Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.
Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Ligne de commande.
Ajoutez ou
/Zc:externConstexpr-
accédez/Zc:externConstexpr
aux options supplémentaires : volet.