Partilhar via


/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

  1. 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.

  2. Selecione a página de propriedades Propriedades de Configuração>C/C++>Linha de Comando.

  3. Em Opções adicionais, adicione /Zc:zeroSizeArrayNew ou /Zc:zeroSizeArrayNew-. Escolha OK ou Aplicar para salvar as alterações.

Confira também

/Zc (Conformidade)