我有编程经验,但我还在学习,我决定创建一个 QVector 数组来存储一些 QGraphicsRectItem ,如下所示:
QVector<QGraphicsRectItem> *FreeLayer1;
FreeLayer1 = new QVector<QGraphicsRectItem>;
FreeLayer1->resize(10);
这是错误:
c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore/qvector.h(532) : error C2248: 'QGraphicsRectItem::QGraphicsRectItem' : cannot access private member declared in class 'QGraphicsRectItem'
c:\qtsdk\desktop\qt\4.8.1\msvc2010\include\qtgui\qgraphicsitem.h(728) : see declration of 'QGraphicsRectItem::QGraphicsRectItem'
c:\qtsdk\desktop\qt\4.8.1\msvc2010\include\qtgui\qgraphicsitem.h(683) : see declaration of 'QGraphicsRectItem'
c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore/qvector.h(473) : while compiling class template member function 'void QVector<T>::realloc(int,int)'
我知道这听起来可能很愚蠢或很容易做到,但我没有发现与我完全一样的错误,而且我在声明方面没有很多经验。我的问题是如何编写此代码以使用我的变量 FreeLayer1。我坚持使用QVector<>,就是不知道怎么声明。
谢谢您的帮助!:)