当我试图将元素从deque分配给用户定义的类时,会出现以下错误。
map<unsigned int, std::deque<Order*>>::iterator itBuyPrices =buyPrices.begin();
Order *buyOrder;
buyOrder = itBuyPrices->second.pop_back();
赋值行错误(第三行(:错误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();