文字列でいっぱいのマップをキーと整数として値として作成しようとしています。問題は私がそれを試して検索するときに始まります。誰かが私がどこに間違って行ったか教えてくれますか私は同じ声明で2つのマップを持っていますか?STLマップが検索時にエラーを投げる
invale is "ale"
roomno = 2;
// roomlist is a map
// rinventory is another map
if(roomlist[roomno].rinventory.find(invale) != map<string, int>::end());
エラーが発生します。何が関数のオーバーロードですか?それは本当に長いエラーです。
error C2668: 'std::_Tree<_Traits>::end' : ambiguous call to overloaded function
1> with
1> [
1> _Traits=std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>
1> ]
1> c:\program files\microsoft visual studio 9.0\vc\include\xtree(569): could be 'std::_Tree<_Traits>::const_iterator std::_Tree<_Traits>::end(void) const'
1> with
1> [
1> _Traits=std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>
1> ]
1> c:\program files\microsoft visual studio 9.0\vc\include\xtree(564): or 'std::_Tree<_Traits>::iterator std::_Tree<_Traits>::end(void)'
1> with
1> [
1> _Traits=std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>
1> ]
1> while trying to match the argument list '(void)'
ありがとうございます。
はあなたの助けをありがとう –