我想維護一個lambda函數內的文件。我可以在lambda之外對其進行處理,但只要將它作爲參考傳遞並希望在下載它之後檢查它的存在,我的應用程序就崩潰在此行上:if (workFile.exists() && !workFile.remove()) {
。Lambda capture QFile對象
QFile workFile("path/to/file.bat");
[..]
if (!workFile.exists()) {
[..] download file & such
QObject::connect(&mng, &FileManager::onDownload, this, [=, &workFile] (const QString& name) {
if (workFile.exists() && !workFile.remove()) {
qDebug() << "File was not downloaded correctly.";
}
});
}
回溯:
爲什麼不工作?我應該如何正確捕獲QFile?
@Mike良好的抓住,發佈它作爲答案! – Rusco