我正在使用 VS2010 中的遗留代码,并将许多数据结构从使用 short 和 float 分别移动到使用 int 和 double,以修复许多编译器警告。
但是,这似乎破坏了 mfc 序列化(CArchive),因为我无法再读取旧的序列化数据。我尝试强制转换和使用临时变量,但结果并不令人鼓舞。有些变量被正确读取,有些看起来像溢出的值,所以我真正要寻找的是一种方法来确保“>>”运算符只读取一个短或浮点数。
一种选择当然是恢复到旧结构,但如果可能的话,我想坚持使用“更现代”的数据类型并修复读取序列化数据的过程。这可能吗?如果可以,怎么做?