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

问题描述

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();

解决方案

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

时间: 2024-11-03 21:57:34

qt-QT访问类成员变量出错,求解的相关文章

类成员变量定义为map 为什出错呢? 急!!!

问题描述 这是我的代码:#pragmaonce#include<map>#include"Constant.h"classPartFactory{private:staticmap<char,char>xx;public:PartFactory(void);~PartFactory(void);};编译后报错:错误1errorC2143:语法错误:缺少";"(在"<"的前面)d:任务gpcprojectsrcgpcs

c++-【菜鸟】CStringList和CStringList作为类成员变量,使用问题

问题描述 [菜鸟]CStringList和CStringList作为类成员变量,使用问题 想存储字符串组,在程序dlg类中添加成员变量CStringList m_str,(仅添加了该变量,未使用)程序结束时,出题书,无法处理的异常. 添加成员变量CStringArray m_str,在程序运行开始就会提示,无法处理的异常. 新手一个不知道什么原因,希望各位能多帮助 解决方案 访问越界问题吧,CStringList里面的指针被强行改成无法访问的地址,释放的时候报错. 访问越界没有什么好的办法抓,自

类成员变量-Release版本map容器无法正确使用

问题描述 Release版本map容器无法正确使用 Release版本下动态库中map容器定义为类成员变量无法插入值,定义为全局或函数局部变量,则使用正常,Debug版本无此问题 解决方案 222222222333333334444444455555555 解决方案二: 这不应该 先看插入数据成功没

PHP成员变量获取对比(类成员变量)

有如下4个代码示例,你认为他们创建对象,并获得成员变量的速度排序是怎样的? 1:将成员变量设置为public,通过赋值操作给成员变量赋值,直接获取变量    代码如下 复制代码 class Foo {   public $id;  }    $data = new Foo;  $data->id = 10;  echo $data->id;2:将成员变量设置为public,通过构造函数设置成员变量的值,直接获取变量         class Foo2 {   public $id;   pu

ASP 类成员变量、成员函数、构造析构函数

class CFoo    dim publicParam '用 dim 申明公有成员变量    private privateParam '用 private 申明私有成员变量    'publicParam = "公有" '不能在 class 标记以内.类函数以外为成员变量赋值    'const MAX_LEN = 5 '不能在 class 标记以内.类函数以外使用 const        '该函数为构造函数,在使用 set new 创建对象时,自动执行    private

类成员变量赋值问题(C#)

问题描述 代码如下:publicclassDeck{publicstaticCard[]cards=newCard[52];publicDeck(){for(intsuitVal=0;suitVal<4;suitVal++){for(intrankVal=1;rankVal<14;rankVal++){cards[suitVal*13+rankVal-1]=newCard((Suit)suitVal,(Rank)rankVal);}}}publicCardGetCard(intcardNum)

asp.net mvc 实体类成员变量标识示例

检查不能为空 [Required] public string ID { get; set; } 检查最大长度 [StringLength(36, ErrorMessage = "长度不可超过36")] 检查数据格式 [DataType(DataType.MultilineText,ErrorMessage = "字符格式不正确")] 检查数值范围 [Range(0, 2147483646, ErrorMessage = "数值超出范围")] 显

d-JAVA中,继承的类可以修改父类成员变量的值?

问题描述 JAVA中,继承的类可以修改父类成员变量的值? class FatherClass{ public int value; public void info(){ value=100; System.out.println("FatherClass="+value); } } class ChildClass extends FatherClass{ //public int value; public void info(){ super.info(); value=200;

Java中成员方法与成员变量访问权限详解_java

记得在一次面试的笔试题中,有的面试官会要求写出具体的像pullic这些访问限定符的作用域.其实,平常我都没去系统的考虑这些访问限定符的作用域,特别是包内包外的情况,OK,笔试不行了.  这是java基本的知识,也是公司看重的,那没办法啦,我的脑袋记不住东西,那我只能把这些东西写下来方便自己温故知新,不废话了,贴代码了. 代码如下: package com.jaovo; /** *_1_ 成员变量访问权限的求证 * public private protected default(默认的权限) *