【发布时间】:2017-03-12 13:17:37
【问题描述】:
在我的代码中的某个时刻,我有:
QThread* thread = new QThread;
Beacon *beacon = new Beacon(beg, end);
beacon->moveToThread(thread);
前几天我读到了一个叫做智能指针的东西。如果我理解,它可能适合上面的代码,我试过了:
std::unique_ptr<QThread> thread {new QThread};
std::unique_ptr<Beacon> beacon {new Beacon(beg, end)};
beacon->moveToThread(thread);
这导致:
error: no viable conversion from 'std::unique_ptr<QThread>' to 'QThread *'
beacon->moveToThread(thread);
怎么了?
【问题讨论】:
-
moveToThread(thread.get())
标签: c++ multithreading c++11 qt5 c++14