一個問題在以下情形:通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