yb0312 2014-12-20 14:41 采纳率: 20%
浏览 3373

QT访问类成员变量出错,求解

编译能通过,运行时程序出错自动退出,用debug检查提示
“底层由于接受到操作系统的信号而停止
信号名称:SIGSEGV
信号意义:Segmentation fault”

断点在成员变量的访问上,整了一天,没弄明白,快崩溃了。
程序大概是这样:

 class CMeta : public QGraphicsPathItem
{
public:
    void test1();
private:
    QPointF mTest;
}
void CMeta::test1()
{
    QString str;
    str.sprintf("%f",mTest.x());
    QMessageBox::about(NULL, "About", str);
}

在程序中调用test1(),出错

 CMeta *mMeta = qgraphicsitem_cast<CMeta *>(startMetas.first());
    //QList<CHtPts*> *mHtPts = mMeta->GetHtPts();
    mMeta->test1();
  • 写回答

1条回答

  • yb0312 2014-12-21 08:39
    关注

    解决了,原因为派生的CMeta类,未返回自定义type号,导致CMeta指针不能被正确返回,所以内存出错

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题