私はVS2010でレガシーコードを扱っており、多くのデータ構造をshortとfloatの使用からintとdoubleの使用にそれぞれ移動して、多くのコンパイラ警告を修正しました。
ただし、古いシリアル化されたデータを読み取ることができなくなったため、これにより mfc シリアル化 (CArchive) が壊れたようです。キャストして一時変数を使用してみましたが、結果は有望ではありません。正しく読み取られる変数もあれば、オーバーフローした値のように見える変数もあります。そのため、実際に探しているのは、">>" 演算子が short または float のみを読み取るようにする方法です。
もちろん、1 つのオプションは古い構造に戻すことですが、可能であれば、「より現代的な」データ型に固執し、シリアル化されたデータを読み取る手順を修正したいと考えています。これは可能ですか?