我有以下地图用于存储客户名称和使用其代码和描述选择的itens字典,例如:
Name Item Code, Item Description
Customer1 -> 1234, Item 1
1233, Item 2
1232, Item 3
所以我使用以下结构:
std::map<std::string, std::map<std::string, std::string>> purchase_list;
现在我需要查找现有名称和现有项目代码。
查找现有名称:
if (purchase_list.find(purchase_list.begin(), purchase_list.end(), "SearchName") != purchase_list.end())
std::cout << "SeachName found!!" << std::endl;
对我来说,这应该可行,但我在编译时遇到以下错误:
no matching function for call to ‘std::map<std::basic_string<char>, std::map<std::basic_string<char>, std::basic_string<char> > >::find(std::map<std::basic_string<char>, std::map<std::basic_string<char>, std::basic_string<char> > >::iterator, std::map<std::basic_string<char>, std::map<std::basic_string<char>, std::basic_string<char> > >::iterator, std::string&)’ search_name) == purchase_list.end())
我要更改"SearchName"
格式吗?这里的语法是什么?
要搜索商品代码,我会重复相同的代码,寻找客户找到的条目......
感谢您的帮助...
答案 0 :(得分:5)
查找std :: map只需要一个键值。所以你会这样称呼它:
pip install future