Partilhar via


/VMM, /vms, /vmv (representação de finalidade geral)

Usado quando /vmb, /vmg (método de representação) está selecionado como o o método de representação. Essas opções indicam que o modelo de herança da definição da classe ainda não encontrou.

/vmm
/vms
/vmv

Comentários

As opções são descritas na tabela a seguir.

Opção

Descrição

/vmm

Especifica a representação mais geral de um ponteiro para um membro de uma classe para ser uma que usa herança múltipla.

O correspondente palavra-chave de herança e o argumento para # pragma pointers_to_members é multiple_inheritance.

Esta representação é maior do que o necessário para a herança única.

Se o modelo de herança de uma definição de classe para o qual está declarado como um ponteiro para um membro é virtual, o compilador gera um erro.

/vms

Especifica a representação mais geral de um ponteiro para um membro de uma classe para ser uma que não usa herança única ou nenhuma herança.

O correspondente palavra-chave de herança e o argumento para # pragma pointers_to_members é single_inheritance.

Esta é a representação de possível menor de um ponteiro para um membro de uma classe.

Se o modelo de herança de uma definição de classe para o qual está declarado como um ponteiro para um membro é o múltiplo ou virtual, o compilador gera um erro.

/vmv

Especifica a representação mais geral de um ponteiro para um membro de uma classe para ser uma que usa herança virtual. Ele nunca causa um erro e é o padrão.

O correspondente palavra-chave de herança e o argumento para # pragma pointers_to_members é virtual_inheritance.

Esta opção requer um ponteiro maior e mais código para interpretar o ponteiro que as outras opções.

Quando você especifica uma destas opções de modelo de herança, esse modelo é usado para todos os ponteiros para os membros de classe, independentemente de seu tipo de herança ou se o ponteiro é declarado antes ou depois da classe. Portanto, se você sempre pode usar classes de herança simples, você pode reduzir o tamanho do código, compilando com /vms; No entanto, se você quiser usar o caso mais geral (às custas de representação de dados maior), compilar com /vmv.

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

  1. Abra o projeto Property Pages caixa de diálogo. Para obter detalhes, consulte: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

/vmb, /vmg (método de representação)

Opções do compilador

Definindo opções do compilador