現象
現象 1
列挙型の宣言を指定したオフセットでは、Microsoft Visual C++ プロジェクトをコンパイルするとき c2371 エラー、c2556 エラー、または C2511 エラーが発生する可能性があります。
原因 1
コンパイラがファイル バッファーの最後に発生する列挙体の宣言コードを正しく解析するためにこの問題が発生する [ファイルのオフセット位置 (4096 * n)-1] です。
現象 2
仮想関数呼び出しオブジェクトを返すし、返される値を参照にバインドするには Visual C++ プロジェクトをコンパイルするとします。/Clrオプションを有効にもあります。この状況では、実行時にアクセス違反の例外があります。
原因 2
この問題は、次の条件に該当する場合、暗黙の型の有効期間の拡張機能へのconst参照にバインドされている一時的な値が動作しないために発生します。
-
/Clrとしてプロジェクトをコンパイルします。
-
一時的な値は、仮想関数の呼び出しまたは関数ポインターを通じて関数呼び出しの戻り値です。
解決策
修正プログラムの情報
サポートされている修正プログラムは、マイクロソフトから入手可能です。ただし、この修正プログラムは、ここで説明する問題のみを修正することを目的としたものです。この問題が発生しているシステムにのみ適用してください。
修正プログラムをダウンロードできる場合は、本サポート技術情報の資料の上部に「修正プログラムをダウンロードできます」というセクションがあります。このセクションが表示されていない場合は、マイクロソフト カスタマー サービス サポートにリクエストを送信し、修正プログラムを入手してください。 注: さらなる問題が発生した場合、またはトラブルシューティングが必要な場合には、別のサービス リクエストの作成が必要な場合があります。この修正プログラムの対象外の追加の質問および問題については、通常のサポート料金が適用されます。一覧マイクロソフト カスタマー サービス & サポートの電話番号または別のサービス リクエストを作成する、次のマイクロソフト web サイトを参照してください。http://support.microsoft.com/contactus/?ws=support注: 「修正プログラムのダウンロード利用可能」フォームは、修正プログラムで利用可能な言語を表示します。お使いの言語が表示されない場合は、その言語の修正プログラムが利用できないためです。
必要条件
この修正プログラムを適用するには、Microsoft Visual Studio 2012 更新 4 がインストールされている必要があります。
再起動の必要性
影響を受けるファイルがインストール時に使用しない場合、修正プログラムをインストールした後にコンピューターを再起動する必要があります。修正プログラムをインストールする前に、Visual Studio 2012 に関連するすべてのコンポーネントを閉じることをお勧めします。
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。