您目前已離線,請等候您的網際網路重新連線

不支援您的瀏覽器

您必須更新瀏覽器,才能使用此網站。

更新至最新版本的 Internet Explorer

在 Visual C++ R6025 Run-Time 錯誤的描述

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:125749
結論
本文將告訴您,當您正在開發程式時可能會發生的問題。 如果您仍然遇到類似本文所描述的問題,可能是不同的問題。要搜尋的特定問題的相關問題,請併入產品名稱搜尋以縮小結果。如果要類似問題的疑難排解請參閱本文稍後在 [類似的問題和解決方案 >] 一節。
徵狀
C + + 程式失敗,並報告下列執行階段錯誤:
執行階段錯誤 R6025
-純虛擬函式呼叫
發生的原因
當您的應用程式間接呼叫純虛擬成員函式在內容中位置呼叫函式是不正確時,就會發生這個錯誤。在大多數情況下,編譯器會偵測出這點,並建置應用程式時報告錯誤。但是,取決於您的程式碼的寫入方式有時候問題是只在執行時期所偵測到。

當您間接呼叫建構函式呼叫的內容或解構函式的抽象基底類別內的純虛擬函式時,就會發生這個錯誤。範例程式碼下方,連同一些詳細描述] 所示。
解決方案
呼叫純虛擬函式是一個程式設計的錯誤,因此您需要尋找純虛擬函式呼叫和重寫程式碼,所以它不會呼叫。

若要尋找純虛擬函式呼叫的方法之一是純虛擬函式取代會呼叫 Windows API 函式 DebugBreak 的實作。使用 [偵錯工具時 DebugBreak 會導致硬式編碼中斷點。當程式碼會停止執行在此中斷點時,您可以檢視以查看已呼叫此函式呼叫堆疊。

搜尋純虛擬函式呼叫的另一個方法是在 PureVirt.c 中找到 _purecall 函式上設定中斷點。在這個函式上的重大具有保持堆疊不變,以便您可以追蹤發生什麼的優點。
狀況說明
這種行為是經過設計規劃的。
其他相關資訊
如需詳細資訊請參閱下列 Microsoft 開發 o 人 h 員 û 工 u 具 ã 網路 (MSDN) 網站中的 [組建錯誤] 區段的"C 執行階段錯誤 R6002 透過 R6025 」 頁面:附註R6025 錯誤不會說明手冊或包含使用 Visual C++,版本 2.x 或其下的線上說明。不過,它會簡短討論第 3 篇 Readme.wri 檔案 Visual C++ 2.0 版隨附。

範例程式碼

   /* 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()   {   }				
類似的問題和解決方案
如果您仍然遇到類似本文所描述問題的問題,可能是不同的問題。如需有關類似的問題和解決方案,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
240437金錢執行階段錯誤: 「 R6025-純虛擬函式呼叫"
308260如何疑難排解 Windows 2000、 Windows XP 架構、 Windows Server 2003 為主或 Windows Vista 電腦上在 Internet Explorer 6 和網際網路總管 7 中的指令碼錯誤
267572WD2000: 錯誤訊息: 「 執行階段錯誤 '5' 」 當您啟動 Word 時
170409匯入 Quickbooks 資料 SBFM97: MS Visual C++ 執行階段錯誤
309299當您瀏覽至某些網頁的執行階段錯誤
8.00 8.00 9.00 c

警告:本文為自動翻譯

內容

文章識別碼:125749 - 最後檢閱時間:03/13/2008 20:02:27 - 修訂: 8.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++ 6.0 Professional Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 4.2 Professional Edition
  • Microsoft Visual C++ 4.1 Subscription
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 1.52 Professional Edition
  • Microsoft Visual C++ 1.51
  • Microsoft Visual C++ 1.5 Professional Edition
  • Microsoft Visual C++ 1.0 Professional Edition
  • kbmt kbresolve kbtshoot kbcompiler kbcpponly kberrmsg kbprb KB125749 KbMtzh
意見反應
0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">