Al momento sei offline in attesa che la connessione Internet venga ristabilita

Descrizione dell'errore di run-time R6025 in Visual C++

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 125749
Sommario
In questo articolo viene descritto un problema che può verificarsi quando si sviluppa un programma. Se si verifica un problema analogo a quello descritto in questo articolo, potrebbe essere un problema diverso. Per cercare i problemi relativi a un problema specifico, includere il nome del prodotto nella ricerca per restringere i risultati. Per risolvere problemi analoghi, vedere la sezione "problemi e soluzioni analoghi" più avanti in questo articolo.
Sintomi
Il programma C++ si interrompe bruscamente e restituisce il seguente errore in fase di esecuzione:
Errore di runtime R6025
-chiamata di funzione virtuale pura
Cause
Questo errore si verifica quando l'applicazione chiama indirettamente una funzione membro virtual pure in un contesto in cui una chiamata alla funzione non è valida. Nella maggior parte dei casi, il compilatore rileva questo e segnala l'errore durante la compilazione dell'applicazione. Ma a seconda delle modalità di scrittura del codice, in alcuni casi il problema viene rilevato solo in fase di esecuzione.

L'errore si verifica quando si chiama indirettamente una funzione virtuale pura all'interno del contesto di una chiamata al costruttore o distruttore di una classe base astratta. Come illustrato nell'esempio di codice seguente, con alcune ulteriori descrizione.
Risoluzione
La chiamata di una funzione virtuale pura è un errore di programmazione, pertanto è necessario individuare la chiamata alla funzione virtuale pura e riscrivere il codice in modo non viene chiamato.

Per trovare una chiamata a una funzione virtuale pura, è possibile sostituire la funzione virtuale pura con un'implementazione che chiama la funzione Windows API DebugBreak. Quando si utilizza il debugger, DebugBreak causerà un punto di interruzione hardcoded. Quando il codice si interrompe in questo punto di interruzione, è possibile visualizzare lo stack di chiamate per vedere dove è stata chiamata la funzione.

Un altro modo per trovare una chiamata a una funzione virtuale pura consiste nell'impostare un breakpoint sulla funzione _purecall che si trova in PureVirt.c. Importanti su questa funzione ha il vantaggio di mantenere invariati lo stack in modo che è possibile analizzare che cosa sta.
Status
Questo è il comportamento previsto.
Informazioni
Per ulteriori informazioni, vedere la pagina "C Run-Time errori da R6002 a R6025" della sezione "Errori di compilazione" del seguente sito Web Microsoft Developer Network (MSDN):Nota L'errore R6025 non documentato nella Guida in linea fornita con Visual C++, versioni manuali o 2. x o inferiore. Tuttavia, viene brevemente illustrato nella parte 3 del file Readme. wri fornito con Visual C++ versione 2.0.

Codice di esempio

   /* Compile options needed: none   */    class A;   void fcn( A* );   class A   {   public:       virtual void f() = 0;       A() { fcn( this ); }   };   class B : A   {       void f() { }   };   void fcn( A* p )   {       p->f();   }   // The declaration below invokes class B's constructor, which   // first calls class A's constructor, which calls fcn. Then   // fcn calls A::f, which is a pure virtual function, and   // this causes the run-time error. B has not been constructed   // at this point, so the B::f cannot be called. You would not   // want it to be called because it could depend on something   // in B that has not been initialized yet.   B b;   void main()   {   }				
Problemi e risoluzioni
Se si verifica un problema analogo il problema descritto in questo articolo, potrebbe essere un problema diverso. Per ulteriori informazioni su problemi e soluzioni analoghi, fare clic sui numeri per visualizzare gli articoli della Microsoft Knowledge Base riportato di seguito:
240437 Errore di runtime di Money: "R6025-chiamata di funzione virtuale pura"
308260 Risoluzione degli errori di script in Internet Explorer 6 e Internet Explorer 7 su computer basati su Windows 2000, basato su Windows XP, basato su Windows Server 2003 o basato su Windows Vista
267572 WD2000: Messaggio di errore: "errore di Run-time '5'" quando si avvia Word
170409 SBFM97: Errori di runtime di MS Visual C++ importazione di dati Quickbooks
309299 Errore di runtime durante l'esplorazione di alcune pagine Web
8,00 c 8.00 9,00

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 125749 - Ultima revisione: 05/07/2016 09:26:00 - Revisione: 15.0

Microsoft Visual C++ 2008 Express Edition, Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition, Microsoft Visual C++ 5.0 Professional Edition, Microsoft Visual C++ 5.0 Enterprise Edition, Microsoft Visual C++ 2.0 Professional Edition, Microsoft Visual C++ 1.5 Professional Edition

  • kbresolve kbtshoot kbcompiler kbcpponly kberrmsg kbprb kbmt KB125749 KbMtit
Feedback
/html>