问题描述
map<unsigned int,std::deque<Order*>>::iterator itBuyPrices =buyPrices.begin();
Order *buyOrder;
buyOrder = itBuyPrices->second.pop_back();
分配行(第 3 行)处的错误: 错误 C2440“=”:无法从“void”转换为“Order *”
解决方法
deque::pop_back()
返回 void
,即什么都没有。您需要先使用 deque::back()
访问队列中的最后一项,然后再调用 pop_back()
将其删除,例如:
map<unsigned int,std::deque<Order*>>::iterator itBuyPrices = buyPrices.begin();
Order *buyOrder = itBuyPrices->second.back();
itBuyPrices->second.pop_back();