【错误集锦】memcpy内存冲突错误

不要想了,肯定是内存访问越界了!

错误代码:

BYTE* tempptr = new BYTE [bmpFileH.bfSize-bmpFileH.bfOffBits];

for(int i=h-1;i>=0;i--)	//遍历行
{				
	for(int j=0;j

tempptr在循环中不断自增,最后memcpy时该指针指向new的那段内存的末尾,以此为memcpy的起点肯定会越界

修改为:

BYTE* tempptr = new BYTE [bmpFileH.bfSize-bmpFileH.bfOffBits];
BYTE* idxtemp = tempptr;
for(int i=h-1;i>=0;i--)	//遍历行
{				
	for(int j=0;j


你可能感兴趣的:(C/C++)