0

オブジェクト ポインターをブースト 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
...

boost::unordered_map を std::map に置き換えると、問題なく動作します。

どうしたの?

4

1 に答える 1

0

私自身の質問に答える...新しいバージョンのブーストを使用しても問題ないことがわかりました。boost バージョン 1.42 のバグが原因のようです。

于 2012-10-18T19:42:30.520 に答える