Den 06-05-2016 kl. 07:35 skrev Tom Isaacson:
I'm moving some Qt4.8.2 code which uses QWeakPointer to Qt5.6.  Simplifying a 
lot it looks like this:

class MySettings : public QObject
{
    Q_OBJECT
}

class MyClass : public QObject
{
    Q_OBJECT

private:
    QWeakPointer<MySettings> m_xSettings;
}

MyClass::MyClass(MySettings* pSettings, QObject* pParent)
    : QObject(pParent)
    , m_xSettings(pSettings)
{
}

but when I compile under Visual Studio 2013 I get this error:
error C2664: 'QWeakPointer<MyClass>::QWeakPointer(const QSharedPointer<T> &)' : cannot 
convert argument 1 from 'MySettings *' to 'const QWeakPointer<MySettings> &'

I tried changing the QWeakPointer to a QPointer but now I'm getting:
error C2440: 'static_cast' : cannot convert from 'QObject *' to MyClass *' 
(GeneratedFiles\Debug\moc_MyCode.cpp)

Is there a recommended method for migrating the use of QWeakPointer into Qt5?

With this code, you need QPointer.

Bo Thorsen,
Director, Viking Software.

--
Viking Software
Qt and C++ developers for hire
http://www.vikingsoft.eu
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to