我必须将非常大的C ++传统代码库转换为64位。我已经设法编译了一个基本模块,但是即使在这个小模块中,我也会收到800条警告:
warning C4267: = conversion from size_t to int, possible loss of data
Run Code Online (Sandbox Code Playgroud)
我知道为什么会出现这些,但是要摆脱它们我有什么选择?有没有什么系统的方法可以避免碰到每个实例?
一种选择是禁用“数据丢失”警告。为了限制禁用警告的影响,MS Visual Studio 有push以下pop指令:
#pragma warning(push)
#pragma warning(disable: 4267)
// legacy code
#pragma warning(pop)
// normal code
Run Code Online (Sandbox Code Playgroud)
这些#pragma指令特定于 Visual Studio;你可能想用 包裹它们#ifdef _MSC_VER。
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |