2009-08-16 48 views
1

由于某些原因,我无法获取ptr_list来插入元素。boost指针容器插入(ptr_list)

boost::ptr_list<int> somelist; 
int *someint = new int(123); 
int *someint2 = new int(456); 
somelist.push_back(someint); 
boost:: ptr_list<int>::iterator i = somelist.begin(); 

somelist.insert(i,someint2); 

请帮忙吗?

+0

您的代码片段对我来说编译得很好。什么是错误信息? – avakar 2009-08-16 09:20:50

+0

请问,你能说出你包括哪些标题? 无法找到'boost :: ptr_sequence_adapter >,boost :: heap_clone_allocator> :: insert (boost :: void_ptr_iterator <_STL: :_List_iterator >,int>,int *)' – Andrew 2009-08-16 09:35:10

+0

好吧,我猜这是我使用的旧编译器(borland C++ builder 6)的特定问题。现在下载一个新版本来检查它是否解决了我的问题。 – Andrew 2009-08-16 09:45:27

回答

2

一些更新。在花费了24小时之后,我发现Borland C++ Builder 6(非常老的2002)与全新的C++ Builder 2009相比,与boost 1.39更兼容。
但是它们都不像指针容器。

现在我很遗憾,我没有在MSVC中启动这个项目,但这是我的。

因此,如果有人知道如何在C++ Builder中使用指针容器,请分享这些信息。对我而言,这个问题仍然没有解决。

切换回​​

+0

一些更新。 SVN中继的最新版本boost似乎对Borland有很多修复,并且允许访问更多的组件,但仍然存在指针容器的错误。 – Andrew 2009-08-20 01:19:23