STL C++ hash_map を使用して...
class MyKeyObject
{
std::string str1;
std::string str2;
bool operator==(...) { this.str1 == that.str1 ... }
};
class MyData
{
std::string data1;
int data2;
std::string etcetc;
};
このような...
MyKeyObject a = MyKeyObject(...);
MyData b = MyData(...);
stdext::hash_map <MyKeyObject, MyData> _myDataHashMap;
_myDataHashMap[ a ] = b;
大量のエラーが発生します。最初の3つはこちら...
エラー 1 エラー C2784: 'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)' : 'const std::_Tree<_Traits> のテンプレート引数を推測できませんでした&' from 'const MyKeyObject' c:\program files\microsoft visual studio 8\vc\include\functional 143
エラー 2 エラー C2784: 'bool std::operator <(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *)' : 'const std::basic_string<_Elem,_Traits, _Alloc> &' from 'const Tasking::MyKeyObject' c:\program files\microsoft visual studio 8\vc\include\functional 143
エラー 3 エラー C2784: 'bool std::operator <(const _Elem *,const std::basic_string<_Elem,_Traits,_Alloc> &)' : 'const MyDataObject' から 'const _Elem *' のテンプレート引数を推定できませんでした c :\program files\microsoft ビジュアル スタジオ 8\vc\include\functional 143
...
キーを int のような単純なものに設定すると、すべて問題ありません。
私は何を間違っていますか?! 多分私はテンプレートで何かをする必要がありますか?
このようなカスタム キー オブジェクトを使用してデータにアクセスするより良い (より速い?) 方法はありますか?