Compartilhar via


/vd (desabilitar deslocamentos de construção)

/vdn

Arguments

  • 0
    Suprime o membro do deslocamento do construtor/destruidor de vtordisp. Escolha essa opção somente se você tiver certeza de que todos os destruidores classificam construtores e chamadas de funções virtuais inclusão.

  • 1
    Permite criação de membros ocultos de deslocamento de destruidor/construtor de vtordisp. Esta opção é o padrão.

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

    /vd2 adiciona um campo de vtordisp quando você tiver uma base virtual com funções virtuais. /vd1 deve ser suficiente. A maioria dos casos comum onde são /vd2 é necessário quando a única função virtual 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 de deslocamento da construção C++ em situações onde a herança virtual é usada. Deslocamentos de construção resolver o problema criado quando uma função virtual, declarada em uma base virtual e substituído em uma classe derivada, é chamada de um construtor durante a compilação de uma classe derivada adicional.

O problema é que a função virtual pode ser passada um ponteiro incorreto de this no resultado das discrepâncias entre os deslocamentos às bases virtuais de uma classe e os deslocamentos a suas classes derivadas. A solução fornece um único ajuste de deslocamento da construção, chamado de campo de vtordisp, para cada base virtual de uma classe.

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

Essas opções afetam arquivos de origem inteiros. Use vtordisp para suprimir e reabilitar em campos de vtordisp em uma base de classe-por- classe.

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

  1. Abra a caixa de diálogo Páginas de Propriedade do projeto. Para obter detalhes, consulte Como abrir páginas de propriedade do projeto.

  2. Clique na pasta C/C++.

  3. Clique na página de propriedades de Linha de Comando.

  4. Digite a opção de compilador na caixa Opções Adicionais.

Para definir essa opção do compilador via programação

Consulte também

Referência

Opções do compilador

Definindo opções do compilador