Applies ToVisual Studio 2012 Update 4

狀況

徵狀 1

當您編譯具有特定的位移處的列舉型別宣告的 Microsoft Visual C++ 專案時,您可能會收到 C2371、 C2556 或 C2511 的錯誤。

原因 1

之所以發生這個問題,是因為編譯器錯誤剖析檔案緩衝區的結尾,就會發生的列舉型別宣告程式碼 [在檔案位移 (4096 * n)-1]。

徵狀 2

您編譯 Visual C++ 的專案具有虛擬函式呼叫傳回物件和所傳回的值繫結至參考。您也有啟用/clr選項。在此情況下,您可能會收到執行階段存取違規例外狀況。

原因 2

隱含的存留期的副檔名繫結至const參考暫存值無法運作如果下列情況成立,就會發生這個問題︰

  • 以/clr編譯專案。

  • 暫時的值會是虛擬函式呼叫或透過函式指標的函式呼叫傳回的值。

解決方案

Hotfix 資訊

支援的 hotfix 可從 Microsoft 取得。不過,此 Hotfix 僅用於修正本文中所述的問題。此 Hotfix 只適用於發生此特定問題的系統上。如果 Hotfix 可供下載,在此知識庫文件頂端將出現<有可用的 Hotfix 供您下載>區段。如果這個區段不會出現,將要求提交給 Microsoft 客戶服務及支援取得 Hotfix。注意如果發生其他問題,或如果需要進行疑難排解,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題和此特定 hotfix 無法解決的問題。如 Microsoft 客戶服務及支援的電話號碼或建立個別的服務要求的完整清單,請造訪下列 Microsoft 網站︰

http://support.microsoft.com/contactus/?ws=support注意「 可下載 Hotfix 」表單會顯示 hotfix 可用的語言。如果看不到您的語言,是因為未提供該語言的 Hotfix 。

先決條件

若要套用此 hotfix,您必須使用 Microsoft Visual Studio 2012 更新 4 安裝。

重新啟動需求

您可能必須重新啟動電腦,如果受影響的檔案不在使用一次的安裝,安裝 hotfix 之後。我們建議您安裝此 hotfix 之前,關閉所有 Visual Studio 2012 相關的元件。

狀態

Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。