2012-10-17 83 views
0

我試圖使用一個對象指針作爲升壓unordered_map的一個關鍵推動的關鍵:指針unordered_map

boost::unordered_map<MyObject*, real> mymap; 

但是當我試圖爲給定的鍵訪問的價值,它永遠不會找到它:

boost::unordered_map<MyObject*, real>::const_iterator it = mymap.find(&SomeObject); // it is always equal to mymap.end() 

如果我打印的地圖內容,我能看到的鑰匙都在那裏:

key: 0x3739c60, value: 1 
key: 0x4541970, value: 0.873346 
... 

如果我更換提升: :與std :: map的unordered_map它工作正常。

有什麼問題?

+0

你可以發佈一個我們可以嘗試的最小完整的示例代碼嗎? – usta

+0

好吧,我做了一個「最小的完整示例」,不能重現它。我還注意到,在我的應用程序中使用更新的boost版本,我修復了問題paritaly(它在一些地方工作,但不是在任何地方)。似乎這是一個特定的推動力。將發佈任何更新... – lenooh

+0

我現在已經隔離了這個問題。這似乎是一個提升1.42版本的bug。我會寫一個答案。 – lenooh

回答

0

回答我自己的問題... 我想出使用更新版本的升壓工程確定。似乎是由升級版本1.42中的錯誤引起的。