C2385 Mensagem de erro ao usar o compilador do C++

Traduções deste artigo Traduções deste artigo
ID do artigo: 323918 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Sintomas

Se você compilar o código do Visual C++ com um construtor base virtual, você receberá uma mensagem de erro C2385.

Causa

Esse problema ocorre devido a um erro no compilador C++ no Microsoft Visual Studio. NET.

Resolução

Uma correção suportada está agora disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente aos computadores que apresentarem esse problema específico. Pode ser nessa correção testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, a Microsoft recomenda que você aguarde o próximo service pack do Visual Studio .NET que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter a correção. Para obter uma lista completa dos números de telefone do Atendimento Microsoft do e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Observação : em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de suporte normais serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

A versão em inglês dessa correção apresenta os atributos de arquivo (ou posteriores) listados na tabela a seguir. As datas e horas desses arquivos são listadas na acordo hora universal coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
   Date           Version       Size             File name     
   ---------------------------------------------------------
   04-Jun-2002    13.0.9503.0   2,105,344 bytes  C1xx.dll
   04-Jun-2002    13.0.9503.0   1,757,184 bytes  C2.dll
				

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo.

Mais Informações

Para reproduzir esse problema, compilar o exemplo de código Microsoft Visual C++ .NET a seguir no Visual Studio. NET:
#include <stdio.h>

class V
{
public:
    V(){ printf("Just testing\n"); }
};

class A : virtual public V
{
    /* ... */ 
};

class B : virtual public V
{
    /* ... */ 
};

class C : public A, public B
{
    void DoNothing(const V&)
    {
        ;
    }

    void VC7_Ambiguity(void)
    {
        DoNothing(V());
    }
};

int main(void)
{
    C c;

    return 0;
}
				
quando você compilar esse código no Visual Studio. NET, a seguinte saída aparecerá na janela Saída:
x3.cpp
x3.cpp(29) : error C2385: ambiguous access of 'V' in 'C'
        could be the 'V' in base 'V'
        or the 'V' in base 'V'
x3.cpp(29) : error C2065: 'V' : undeclared identifier
					

Propriedades

ID do artigo: 323918 - Última revisão: sábado, 26 de outubro de 2013 - Revisão: 1.2
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ .NET 2002 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbbug kbcompiler kbfix kbqfe KB323918 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 323918

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com