0

我正在尝试使用对象指针作为 boost 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 替换 boost::unordered_map 它可以正常工作。

有什么问题?

4

1 回答 1

0

回答我自己的问题......我发现使用更新版本的 boost 可以正常工作。似乎是由 boost 1.42 版中的错误引起的。

于 2012-10-18T19:42:30.520 回答