Popis R6025 chyba spustenia v Visual c ++

Preklady článku Preklady článku
ID článku: 125749 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok popisuje problém, ktorý sa môže vyskytnúť, ak ste rozvojových program. Ak ste sa stretli stále problém, ktorý sa podobá jednej, ktoré popisuje tento článok, môže byť iný problém. Hľadáte otázky súvisiace s špecifický problém, prosím uveďte názov produktu vo vašom hľadanie s cieľom spresnite výsledky. Chcete riešiť podobné problémy, nájdete v časti "podobné problémy a rezolúcií" neskôr v tomto článku.

PRIZNAKY

C ++ program zlyhá a hlási nasledujúce run-time Chyba:
Runtime chyba R6025
-čistý virtuálne funkcie hovor

PRICINA

Táto chyba sa vyskytuje, keď vaša žiadosť nepriamo zavolá čistý virtuálne členské funkcie v kontexte ak volanie funkcie nie je platné. Vo väčšine prípadov kompilátor zistí to a hlási chybu pri Stavebné aplikácie. Ale v závislosti od toho, ako je napísané váš kód, niekedy problém zistené iba na run-time.

Chyba sa vyskytuje, keď ste nepriamo volanie čistého virtuálne funkcie v rámci hovoru konštruktéra alebo destruktor abstraktná základná trieda. Toto je znázornené vzorky kód nižšie, spolu s niektoré viac popis.

RIESENIE

Volanie čistého virtuálne funkcie je chybu programovania tak musíte nájsť volanie čistého virtuálne funkcie a potom prepíšte kód tak nie je nazýva.

Jeden spôsob, ako nájsť volanie čistého virtuálne funkcie je nahradiť čistého virtuálne funkcie s realizáciou, ktoré vyzýva Windows API funkcie DebugBreak. Pri použití ladiaci nástroj, DebugBreak bude spôsobiť naprogramovaného bod prerušenia. Keď kód prestane beží na tento bod prerušenia môžete zobraziť callstack vidieť, kde bola funkcia spustená.

Ďalším spôsobom, ako nájsť volanie čistého virtuálne funkcie je nastaviť bod prerušenia _purecall Funkcia, ktorá sa nachádza v PureVirt.c. Rozbiť na túto funkciu má výhodu udržať zásobník neporušené, tak, že si môžete dohledat, čo dochádza.

STAV

Toto správanie je dizajn.

DALSIE INFORMACIE

Ďalšie informácie nájdete v časti "C Run-Time chyby R6002 pomocou R6025 "stránka sekcie "Budovať chyby" v nasledujúce webovej lokalite Microsoft Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/aa277044 (VS.60) .aspx
Poznámka: R6025 chyba nie je zdokumentovaná v príručiek alebo v Pomocníkovi online zahrnuté s Visual C++, verzia 2.x alebo nižšie. Avšak, je krátko diskutovaná v Časť 3 Readme.wri súbor dodávaný s Visual C++ verzie 2.0.

Ukážka kódu

   /* 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()
   {
   }
				

Podobné problémy a riešenia

Ak ste sa stretli stále problém, ktorý sa podobá problém, ktoré popisuje tento článok, môže byť iný problém. Ďalšie informácie o podobné problémy a rezolúcií, po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
240437Peniaze runtime chyba: "R6025-volanie čistého virtuálne funkcie"
308260 Riešenie problémov s chyby skriptu v programe Internet Explorer 6 a Internet Explorer 7 na počítačoch so systémom Windows 2000, so systémom Windows XP, Windows Server 2003 založený alebo so systémom Windows Vista
267572 WD2000: Chybové hlásenie: "chyba"5"Run-time" pri spustení programu Word
170409 SBFM97: MS Visual C++ run-time chyby dovážajúcich dáta aplikácie Quickbooks
309299 Runtime chyby, keď prechádzate na niektoré webové stránky

Vlastnosti

ID článku: 125749 - Posledná kontrola: 10. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • 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++ 2.0 Professional Edition
  • Microsoft Visual C++ 1.5 Professional Edition
Kľúčové slová: 
kbresolve kbtshoot kbcompiler kbcpponly kberrmsg kbprb kbmt KB125749 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:125749

Odošlite odozvu

 

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