一个问题在以下情形:通QNetworkReply指针QSharedPointer有关使用<code>QSharedPointer</code>
我有两个QSharedPointer
私有类成员的类:
class xy{
...
private:
QSharedPointer<QNetworkAccessManager> m_nam;
QSharedPointer<QNetworkReply> m_nr;
};
在我发送一个QNetworkAccessManager
后的代码,返回值是一个QNetworkReply
指针。
QNetworkReply * QNetworkAccessManager::post(const QNetworkRequest & request, const QByteArray & data)
我想这个指针传递给我的QSharedPointer
即m_nr
。 我想:
m_nam.reset(new QNetworkAccessManager(m_parent.data()));
QNetworkRequest request(url);
...
...
// following line is my problem
m_nr = QSharedPointer<QNetworkReply>(m_nam->post(request, postData));
...
但崩溃,然后我想:
m_nam.reset(new QNetworkAccessManager(m_parent.data()));
QNetworkRequest request(url);
...
...
// following line is my problem
m_nr.reset(m_nam->post(request, postData));
...
但也应声。
如何正确地将QNetworkReply
指针传递给我的QSharedPointer
?
请提供最小,完整和可验证的示例。 https://stackoverflow.com/help/mcve – hank
应该是足够的示例代码,我认为 – user3728686