一个编译报错

Coderec 2012-10-25 02:56:39

这个报错是什么意思?我百度之,说是什么关于越界的事,但是我的程序应该不存在越界问题
程序结构大致是:
class tank:public QWidget{}
class Btank: public tank{}
class Gtank: public tank{}
然后在主窗体的构造函数中加了:
Gtank *u = new Gtank(this);
如果注释掉就没有报错,请问这大概是什么问题
...全文
463 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Coderec 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

pixmap有没有new,只看到了一个指针声明。
[/Quote]

在这个类的基类中paintevent()中
QPainter painter(this);
painter.drawPixmap(QPoint(0,0),*pix);
Coderec 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

pixmap有没有new,只看到了一个指针声明。
[/Quote]

没有类声明了就直接进函数了。。。。
jdwx 2012-10-25
  • 打赏
  • 举报
回复
pixmap有没有new,只看到了一个指针声明。
Coderec 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

我也遇到过几次这种问题,语法上没有问题,在类里加点东西就会报错. 重新生成再重启VS试下
[/Quote]



我找到问题了,是越界的问题,在QML探查器里看到
0x77db15de <+0x0012> add esp,4
程序里指向了这句


void Btank::draw() //----------绘制Btank
{
if(alive==true)
{
pix->fill(Qt::blue);
QPainter painter(pix); //------------指向这一句
image.load("image/down.png");
painter.drawImage(QPoint(X,Y),image);
}
}

pix在类中定义了: QPixmap *pix;
这个有什么错误吗?
Vegata 2012-10-25
  • 打赏
  • 举报
回复
我也遇到过几次这种问题,语法上没有问题,在类里加点东西就会报错. 重新生成再重启VS试下
vacancy14 2012-10-25
  • 打赏
  • 举报
回复
请在头文件中定义 Gtank *u;然后在构造函数中写 u = new Gtank();
Coderec 2012-10-25
  • 打赏
  • 举报
回复
E:\QT_Creator\myProjects\Btank_1\debug\Btank_1.exe 启动中...
Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly
程序异常终止。
E:\QT_Creator\myProjects\Btank_1\debug\Btank_1.exe 退出,退出代码: -1073741819
{1 ?}



这是报错,图片可能不清晰

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧