次の例のように、イテレータをキーの型として、整数を値として使用するマップを作成したいと考えています。
#include <list>
#include <unordered_map>
int main(int argc, char* argv[])
{
typedef std::list<int> ListType;
typedef std::unordered_multimap<ListType::iterator, unsigned int> MapType;
ListType _list;
MapType _map;
_list.push_back(100);
_map.insert(std::make_pair(_list.begin(), 10));
return 0;
}
残念ながら、これによりコンパイラはerror C2440: 'conversion' : cannot convert from 'const std::_List_iterator<_Mylist>' to 'size_t'
. とにかくこれを達成するためにできることはありますか?