/Zc:zeroSizeArrayNew
(Chamar new/delete de membro nas matrizes)
A opção do compilador /Zc:zeroSizeArrayNew
chama os membros new
e delete
para matrizes de objetos de comprimento zero.
Sintaxe
/Zc:zeroSizeArrayNew
[-
]
Comentários
A opção do compilador /Zc:zeroSizeArrayNew
permite chamadas aos membros new
e delete
para matrizes de comprimento zero de objetos de tipos de classe com destruidores virtuais. Esse comportamento está em conformidade com o padrão. Essa opção de compilador é nova no Visual Studio 2019 versão 16.9 e é habilitada por padrão em todos os modos do compilador. Anteriormente, no código compilado por versões anteriores ao Visual Studio 2019 versão 16.9,o compilador invocava os globais new
e delete
em matrizes de comprimento zero de objetos de tipos de classe com destruidores virtuais.
A opção /Zc:zeroSizeArrayNew
pode causar uma alteração interruptiva no código que dependia do comportamento anterior sem conformidade. Para restaurar o comportamento anterior, use a opção /Zc:zeroSizeArrayNew-
do compilador.
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.
Em Opções adicionais, adicione
/Zc:zeroSizeArrayNew
ou/Zc:zeroSizeArrayNew-
. Escolha OK ou Aplicar para salvar as alterações.