2009-08-16 31 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