【发布时间】:2015-04-23 20:30:07
【问题描述】:
我有以下地图,用于存储客户姓名和一个带有代码和描述的项目字典,例如:
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" 格式吗?这里的正确语法是什么?
要搜索商品代码,我会重复相同的代码,为客户寻找找到的条目...
感谢您的帮助...
【问题讨论】: