warning C4307: '+' : integral constant overflow或warning C4307: “+”: 整型常量溢出

取个文件大小都给我来警告:

warning C4307: '+' : integral constant overflow

warning C4307: “+”: 整型常量溢出

 

问题出在这一句:

DWORD dwFileSize = (FindData.nFileSizeHigh * (MAXDWORD+1)) + FindData.nFileSizeLow;

 

显然问题出在(MAXDWORD+1)

 

解决的方法也简单,把MAXDWORD赋给一个DWORDLONG后在操作。

 

 

// 正确的取文件大小的方法 DWORDLONG dwHighBase = MAXDWORD; dwHighBase += 1; DWORDLONG fieSize = (FindFileData.nFileSizeHigh * dwHighBase) + FindFileData.nFileSizeLow;

你可能感兴趣的:(啊我错了)