-2

如果我这样说,我稍后会收到一个奇怪的编译器 (gcc4.9, boost 1_58) 错误:

当我去访问这个 IL 时:

for(auto & odp : odpList[i]) //<-error here
{

/usr/local/include/boost/intrusive/pack_options.hpp|33|error: no class template named ‘pack’ in ‘class boost::fast_pool_allocator<OneDepthPrice>’

typedef std::tuple<int, int> OneDepthPrice
typedef boost::intrusive::list<OneDepthPrice,  boost::fast_pool_allocator<OneDepthPrice>, constant_time_size<false>> BaseList;

这样做的正确方法是什么?

4

1 回答 1

1

这是因为分配器不是您可以传递的“选项”。

但是,尝试将分配器传递给侵入式容器是没有意义的,因为您将是管理容器外部分配的人。

于 2015-05-04T20:01:39.783 回答