首页 > 编程语言 > 详细

离奇错误 数组访问越界

时间:2015-07-28 15:56:08      阅读:308      评论:0      收藏:0      [点我收藏+]

class OwnerImage

{

public:

  CSize GetImageSize();

private:

  POINT m_pt[2];

  int m_iImgWidth;

  int m_iImgHeight;

}

 

CSize OwnerImage::GetImageSize()

{

  return CSize(m_iImgWidth, m_iImgHeight);

}

其余函数省略了,在不断调用GetImageSize函数过程中,m_iImgWidth大小会发生变化,最初以为是CSize构造问题,后发现CSize继承于SIZE,此处正确。将m_pt[2]声明在最后,发现不会出现此问题,判定是POINT数组出现问题,另CPoint继承于POINT,后查找发现是由于在其他函数中使用m_pt[2],而数组无越界检查,故直接改变了m_iImgWidth值。以此为戒

离奇错误 数组访问越界

原文:http://www.cnblogs.com/92-05-29/p/4683030.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!