gpt4 book ai didi

c++ - 对象的分离 vector

转载 作者:行者123 更新时间:2023-11-30 02:47:27 25 4
gpt4 key购买 nike

我正在编写一个函数,根据其中一个对象的值将一个对象 vector 分成两个 vector 。然后我希望它返回 vector 中的任何一个。

这是我目前的代码

std::vector<AggregatedQuoteType> OrderBook::get_aggregated_order_book(SellBuyType which_side) const
{
std::vector<AggregatedQuoteType> ret;

std::vector<AggregatedQuoteType>::const_iterator i = v_OrderInfo.begin();
for (; i != v_OrderInfo.end(); ++i)
((*i).get_SB_type()==BUY ? v_BuyOrders : v_SellOrders).push_back((*i));

if(which_side==SELL){
ret = v_SellOrders;
}
else{
ret = v_BuyOrders;
}
return ret;
}

编辑

我收到以下错误:

[Error] no matching function for call to 'std::vector::push_back(const AggregatedQuoteType&) const'

最佳答案

您已将函数 get_aggregated_order_book 标记为 const

OrderBook::get_aggregated_order_book(SellBuyType which_side) const
^^^^^
Here!

C++ 中的 const 关键字意味着您不会对类中的任何成员进行更改,我假设是 v_BuyOrdersv_SellOrders是。

如果您要修改 OrderBook 类的成员,则需要使该方法成为非常量。

关于c++ - 对象的分离 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22757573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com