Compartilhar via


/VD (finalizar a construção de desativar)

/vdoferece suporte a um comportamento incorreto em uma versão anterior do Visual C++e não é mais necessária.

/vdn

Arguments

  • 0
    Suprime o membro de deslocamento constructor/destructor vtordisp. Escolha esta opção somente se tiver certeza de que todos os construtores de classe e destrutores chamam virtuais funciona praticamente.

  • 1
    Permite a criação de membros de deslocamento constructor/destructor vtordisp ocultos. Essa opção é o padrão.

  • 2
    Permite que você use dynamic_cast Operator em um objeto que está sendo construído. Por exemplo, um dynamic_cast de uma classe base virtual para uma classe derivada.

    /vd2Adiciona um campo de vtordisp quando você tem uma base virtual com funções virtuais. /vd1deve ser suficiente. O mais comum de casos onde /vd2 é necessário quando a função virtual apenas em sua base virtual é um destruidor.

Comentários

Essas opções se aplicam apenas ao código C++ que usa bases virtuais.

Visual C++implementa o suporte ao deslocamento de construção do C++ em situações onde a herança virtual é usada. Finalizar de construção resolve o problema criado quando uma função virtual declarado em uma base virtual e substituído em uma classe derivada, é chamado a partir de um construtor durante a construção de uma classe derivada ainda mais.

O problema é que a função virtual pode ser passada incorreta this o ponteiro como resultado de discrepâncias entre a finalizar para as bases virtuais de uma classe e a finalizar para suas classes derivadas. A solução oferece um ajuste de deslocamento da construção único, chamado de um campo de vtordisp, para cada base virtual de uma classe.

Por padrão, os campos de vtordisp são introduzidos sempre que o código define destruidores e construtores definidos pelo usuário e também substitui as funções virtuais de bases virtuais.

Essas opções afetam os arquivos de origem inteiro. Use vtordisp para suprimir e reativar a campos de vtordisp em uma classe por classe base.

Para definir esta opção de compilador no ambiente de desenvolvimento Visual Studio

  1. Abra o projeto Property Pages caixa de diálogo. For details, see Como: Abrir páginas de propriedades do projeto.

  2. Clique o C/C++ pasta.

  3. Clique na a linha de comando página de propriedades.

  4. Digite a opção de compilador no Opções adicionais de caixa.

Para definir esta opção de compilador programaticamente

Consulte também

Referência

Opções do compilador

Definindo opções do compilador