/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
Abra o projeto Property Pages caixa de diálogo. Para obter detalhes, consulte:Como: Abrir páginas de propriedades do projeto.
Clique o C/C++ pasta.
Clique na a linha de comando página de propriedades.
Digite a opção de compilador no Opções adicionais de caixa.
Para definir esta opção de compilador programaticamente
- Consulte AdditionalOptions.