【发布时间】:2015-12-07 05:08:44
【问题描述】:
我需要实例化并附加到指向我的对象的指针的 QVector
我的标题说
QVector<Stuff*> myResults;
通过注释掉内容,我将其范围缩小到我对 QVector 的使用
1) 当我尝试
myResults.append(stuff);
2) 当我尝试时
myResults.push_back(stuff);
我明白了
First-chance exception at 0x00007FF652523520 in LibTestd.exe: 0xC0000005: Access violation reading location 0x0000000000000030.
我复制并粘贴了不同的方法来实例化我的 qvector,但无济于事。包括来自 doc.qt.io 的示例,其中 0 和 50
QVector<Stuff> vector(0);
我尝试让 QVector 中的类类型不是指针,以及取消引用的东西。
我真的不知道出了什么问题,但我相当肯定这与我滥用指针有关。有人可以给任何...指针吗? :P
顺便说一句,如果它是相关的,东西翻译单元(我的意思是,同名的 Stuff.h 和 Stuff.cpp 文件(是翻译单元的名称吗?))其中有两个类,Crap 类和 Stuff 类,Stuff 没有废话就不可能存在。我的构造函数中有这样的初始化列表。
顺便说一句,我实例化了这样的东西Stuff * stuff = new Stuff()
【问题讨论】:
-
myResults是如何准确定义的?QVector<Stuff*> myResults;? -
是的,我尝试过这种方式以及 QVector
myResults (然后当我尝试添加它时取消引用的东西) -
(感谢您让我知道问题上的错字,我会修复它)我也尝试了 QVector
myResults; (然后当我尝试添加它时取消引用的东西)和 QVector myResults(0);和 QVector myResults(50);并尝试了 myResults = myResults(QVector (50)) (不在标题中)没有任何工作,这就是为什么我认为它与指针有关,它如何对内存进行分组以及它是否试图复制被指向的对象什么的。 -
你所拥有的似乎是正确的,你确定是向量导致了异常吗?
-
超级巨大的金发时刻 >.> 创建尝试使用 Qvector 的类的类...我 aummm,忘记实例化... 羞愧地隐藏了多久这让我很困惑,但是耶!令人困惑的新问题!