狀況
徵狀 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 產品的問題。