C2385 Messaggio di errore durante l'utilizzo del compilatore c ++

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 323918
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sintomi
Se si compila codice Visual c ++ con un costruttore base virtuale, potresti ricevere un messaggio di errore C2385.
Cause
Questo problema si verifica a causa di un bug nel compilatore c ++ in Microsoft Visual Studio. NET.
Risoluzione
È disponibile una correzione supportata da Microsoft, che è tuttavia destinata esclusivamente alla correzione del problema descritto in questo articolo. Utilizzarla solo nei computer in cui si verifica questo problema specifico. È possibile che su questa correzione vengano eseguiti ulteriori test. Di conseguenza, se non si è notevolmente interessati da questo problema, Microsoft consiglia di attendere il rilascio del successivo service pack di Visual Studio .NET che contiene questo aggiornamento rapido (hotfix).

Per risolvere immediatamente il problema, contattare il Servizio Supporto Tecnico Clienti Microsoft per ottenere la correzione. Per un elenco completo di numeri di telefono del servizio supporto tecnico clienti Microsoft e per informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft: Nota : in casi particolari, le spese normalmente addebitate per le chiamate al supporto tecnico potrebbero essere annullate qualora un addetto del supporto Microsoft determinare che uno specifico aggiornamento risolverà il problema. I costi di supporto tipica verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.

La versione in lingua inglese di questa correzione presenta gli attributi di file elencati nella tabella seguente (o successivi). Date e ore per questi file sono indicati nella coordinated universal time (UTC). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
   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				

Status
Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo.
Informazioni
Per riprodurre il problema, eseguire la compilazione nell'esempio di codice Microsoft Visual c ++ .NET in 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 si compila il codice in Visual Studio. NET, nella finestra di output verrà visualizzato il seguente output:
x3.cppx3.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					
Compilatore di Visual c ++

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 323918 - Ultima revisione: 01/30/2014 12:28:13 - Revisione: 1.2

Microsoft Visual C++ .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbcompiler kbfix kbqfe KB323918 KbMtit
Feedback