/Zc:externConstexpr
(Habilitar variáveis extern constexpr)
A opção do compilador /Zc:externConstexpr
informa ao compilador se conformar ao padrão do C++ e permitir a vinculação externa para variáveis constexpr
. Por padrão, o Visual Studio sempre fornece um vínculo interno da variável constexpr
, mesmo que você especifique a palavra-chave extern
.
Sintaxe
/Zc:externConstexpr
[-
]
Comentários
A opção do compilador /Zc:externConstexpr
faz com que o compilador aplique o vínculo externo a variáveis declaradas usando extern constexpr
.
Em versões anteriores do Visual Studio, por padrão ou se for especificado, o Visual Studio aplica vinculação interna a variáveis, mesmo se /Zc:externConstexpr-
a constexpr
extern
palavra-chave for usada. A opção /Zc:externConstexpr
está disponível a partir do Visual Studio 2017 Atualização 15.6. e está desativada por padrão.
A partir da Atualização 17.6 do Visual Studio 2022, a /permissive-
opção habilita e /Zc:lambda
/Zc:externConstexpr
. Nas versões anteriores, /permissive-
não habilitava nenhuma delas.
Se um arquivo de cabeçalho contiver uma variável declarada extern constexpr
, ele deverá ser marcado com __declspec(selectany)
para mesclar as declarações duplicadas em uma única instância no binário vinculado. Caso contrário, você poderá ver erros de vinculador, por exemplo, LNK2005, devido às violações da regra de uma definição.
Para definir essa opção do compilador no Visual Studio
Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.
Selecione a página de propriedades Propriedades de Configuração>C/C++>Linha de Comando.
Adicione
/Zc:externConstexpr
ou/Zc:externConstexpr-
ao painel Opções adicionais:.
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de