[Interest] QExplicitlySharedDataPointer Example
Constantin Makshin
cmakshin at gmail.com
Thu Jul 18 20:09:43 CEST 2013
Add an empty destructor to SegmentGrains and put it into QtFilterTest.cpp.
On Jul 18, 2013 9:23 PM, "Michael Jackson" <imikejackson at gmail.com> wrote:
> Ok, I got a little farther but now when I try to use my class in a program
> I get some compile errors.
>
> ----------------QtFilterTest.h
> #include <QtCore/QString>
> #include <QtCore/QExplicitlySharedDataPointer>
> class SegmentGrainsData;
>
> class SegmentGrains
> {
> public:
> SegmentGrains();
> SegmentGrains(const SegmentGrains &other);
> protected:
> QExplicitlySharedDataPointer<SegmentGrainsData> d_ptr;
> };
>
> ----------------QtFilterTest.cpp
> class SegmentGrainsData : public QSharedData
> {
> public:
> SegmentGrainsData() : QSharedData()
> { }
>
> SegmentGrainsData(const SegmentGrainsData &other)
> : QSharedData(other)
> { }
>
> ~SegmentGrainsData() { }
>
> float m_Misorientation;
> QString m_InputFile;
> };
>
> SegmentGrains::SegmentGrains() {
> d_ptr = new SegmentGrainsData;}
> SegmentGrains::SegmentGrains(const SegmentGrains &other)
> : d_ptr (other.d_ptr){}
>
> -------------------main.cpp
> #include "QtFilterTest/QtFilter.h"
> int main(int argc, char *argv[])
> {
> SegmentGrains sg0;
> return 0;
> }
>
>
> In file included from
> /Users/mjackson/Workspace/DREAM3D/Tools/QtFilterTest.cpp:38:
> In file included from
> /Users/mjackson/Workspace/DREAM3D/Tools/QtFilterTest/QtFilter.h:21:
> In file included from
> /Users/Shared/Toolkits/Qt-4.8.4-Cocoa/include/QtCore/QExplicitlySharedDataPointer:1:
> /Users/Shared/Toolkits/Qt-4.8.4-Cocoa/include/QtCore/qshareddata.h:166:57:
> error: member access into incomplete type 'SegmentGrainsData'
> inline ~QExplicitlySharedDataPointer() { if (d && !d->ref.deref())
> delete d; }
> ^
> /Users/mjackson/Workspace/DREAM3D/Tools/QtFilterTest/QtFilter.h:26:7:
> note: in instantiation of member function
> 'QExplicitlySharedDataPointer<SegmentGrainsData>::~QExplicitlySharedDataPointer'
> requested here
> class SegmentGrains
> ^
> /Users/mjackson/Workspace/DREAM3D/Tools/QtFilterTest/QtFilter.h:24:7:
> note: forward declaration of 'SegmentGrainsData'
> class SegmentGrainsData;
> ^
> 1 error generated.
>
>
>
> On Jul 18, 2013, at 12:34 PM, "Giuseppe D'Angelo" <dangelog at gmail.com>
> wrote:
>
> > On 18 July 2013 18:29, Michael Jackson <imikejackson at gmail.com> wrote:
> >> class EmployeeData : public QExplicitlySharedDataPointer
> >
> > This should be inheriting from QSharedData.
> >
> > HTH,
> > --
> > Giuseppe D'Angelo
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20130718/1398546a/attachment.html>
More information about the Interest
mailing list