【发布时间】:2020-12-25 03:14:31
【问题描述】:
所以我在 AntiFlood 类中有这个成员函数:
void AntiFlood::unBan()
{
QThread::msleep(5000);
std::string lineToPost = "KICK " + roomToPost +" "+ nickToPost + "\r\n";
sendIT(lineToPost);
}
我想将它传递给: threadpool.globalInstance()->start(unBan);
-
这不起作用 - 结果错误:没有匹配的函数调用 'QThreadPool::start()' threadpool.globalInstance()->start(unBan); ^; 但另一方面,如果我使用 lambda:
auto lam = [this, room, nick](){ QThread::msleep(5000); std::string lineToPost = "KICK " + roomToPost +" "+ nickToPost + "\r\n"; sendIT(lineToPost); }; threadpool.globalInstance()->start(lam);
它工作正常。
我如何将 void AntiFlood::unBan() 传递给需要 std::function
【问题讨论】: