Heim >Datenbank >MySQL-Tutorial >"Unhandled exception in app.exe (QtGuid4.dll): 0xC0

"Unhandled exception in app.exe (QtGuid4.dll): 0xC0

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 15:38:171373Durchsuche

本文要 解决 的Qt调试问题截图如下: 起因 :在代码中添加类型为QColor的二维数组,存储图片每个像素。 现象 :调试时出现上图所示 错误 。 原因 :经过百度以及反复查看代码,发现在代码中,有数组越界的情况。因为定义的时候,数组的两个维度大小不一样,

本文要解决的Qt调试问题截图如下:

"Unhandled exception in app.exe (QtGuid4.dll): 0xC0

 

起因:在代码中添加类型为QColor的二维数组,存储图片每个像素。

 

现象:调试时出现上图所示错误

 

原因:经过百度以及反复查看代码,发现在代码中,有数组越界的情况。因为定义的时候,数组的两个维度大小不一样,而在实

           现 QWidget的重画事件时,因为坐标系的差别,使得两个维度的顺序对换,使得发生数组越界的情况。

 

详细解释:在程序中我定义的数组是QColor color [ Height ] [ Width ], 我的本意是Height代表图片的高度,Height的初值为400;Width

                  代表图片的高度,Width的初值为600。

                  然而在Qt的paintEvent事件中,QPainter中的 drawPoint( int x,int y )函数中,x表示的是图片的横坐标,对应数组的Width;

                  y表示图片的纵坐标,对应数组的Height。

                  由于在刚开始没有意识到坐标系与数组维度的对应关系,使得对应错误,导致越界。

 

 

如有疑问,请留言!如有问题,求指正!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn