【发布时间】:2020-11-10 19:40:04
【问题描述】:
我不明白为什么要标记此问题:
InitAssignmentCell(iNumRows - 1, strDescription, IMG_UNCHECKED, static_cast<LPARAM>(iNumRows - 1));
该方法的定义是:
InitAssignmentCell(int iRow, CString strAssignment, int iCheckState, LPARAM lParam)
所以最后一个参数是LPARAM。然而我看到了一些曲线:
警告 C26451 算术溢出:对 4 字节值使用运算符“-”,然后将结果转换为 8 字节值。在调用运算符 '-' 之前将值转换为更广泛的类型以避免溢出 (io.2)。
我不明白这一点,因为 iNumRows 的类型是 int。
我看到了类似的答案here,我的直觉是这是一个错误的警告。
【问题讨论】:
标签: visual-c++ mfc