我的方法看起来像这样,在向量中编译“只读变量不可赋值”时出错。可能是什么问题?
int DownloadManager::RemoveDownload(const char *escapedTitle, const char *fileId)
{
boost::remove_if(Core::defaultCore().GetSocketsQueue()->GetQueue(), [&](SocketConnection* socket) {
if (strcmp(escapedTitle, socket->GetDownload()->escaped_title.c_str()) == 0 && strcmp(fileId, socket->GetDownload()->fileId.c_str()) == 0)
{
Core::defaultCore().GetDownloadQueue()->Remove(socket->GetDownload());
return true;
}
return false;
});
return 0;
}
粘贴只是为了显示上面的 GetQueue() 的样子。
std::vector<SocketConnection*> GetQueue()
{
return this->sockets_queue;
}