簡體   English   中英

QSignalSpy和std :: shared_ptr

[英]QSignalSpy and std::shared_ptr

我想測試Qt的一段代碼,它使用std :: shared_ptr作為參數使用信號/插槽。

我的問題是,對於所有其他類型的參數都適用的QSignalSpy類,在使用標准共享指針時似乎表現不佳。 實際上,takeFirst方法返回QVariant的列表。 我可以將參數轉換為shared_ptr,執行以下操作:

QVERIFY(arguments.at(0).value<std::shared_ptr<Canard>>() == canardInstance); // verify the first argument

但是,最后我得到了兩個引用相同堆內存的智能指針,當退出當前作用域時,它會崩潰。 我可以使用QSignalSpy嗎?

謝謝 !

其實我完全沒把握重點。 它工作正常(意味着引用計數按預期方式工作),但是由於另一個原因,我的內存損壞了。 我嘗試使用QSharedPointer並獲得相同的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM