Compartir vía


/Zc:externConstexpr (habilitar las variables extern constexpr)

La opción del compilador /Zc:externConstexpr indica al compilador que se ajuste al estándar de C++ y permita la vinculación externa para las variables constexpr. De forma predeterminada, Visual Studio siempre proporciona una vinculación interna de variable constexpr, incluso si especifica la palabra clave extern.

Sintaxis

/Zc:externConstexpr[-]

Comentarios

La opción del compilador /Zc:externConstexpr hace que el compilador aplique la vinculación externa a las variables declaradas mediante extern constexpr.

En versiones anteriores de Visual Studio, de forma predeterminada o si /Zc:externConstexpr- se especifica, Visual Studio aplica la vinculación interna a constexpr variables incluso si se usa la extern palabra clave . La opción /Zc:externConstexpr está disponible a partir de Visual Studio 2017 Update 15.6 y está desactivada de forma predeterminada.

A partir de Visual Studio 2022 Update 17.6, la /permissive- opción habilita y /Zc:externConstexpr/Zc:lambda. En versiones anteriores, /permissive- no habilitó ninguna.

Si un archivo de encabezado contiene una variable declarada extern constexpr, se debe marcar __declspec(selectany) para combinar las declaraciones duplicadas en una sola instancia del binario vinculado. De lo contrario, es posible que vea errores del enlazador, por ejemplo: LNK2005, para las infracciones de la regla de definición única.

Para establecer esta opción del compilador en Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.

  2. Seleccione la página de propiedades Propiedades de configuración>C/C++>Línea de comandos.

  3. Agregue /Zc:externConstexpr o /Zc:externConstexpr- al panel Opciones adicionales.

Consulte también

Palabra clave auto
permissive
/Zc (Conformidad)