使用vector和struct在C中获取错误
发布时间:2020-12-15 04:49:37 所属栏目:Java 来源:网络整理
导读:这段代码中的错误是什么: #include iostream#include vector#include algorithmusing namespace std;struct symtab{ string name; string location;};vectorsymtab symtab_details;bool search_symtab(string s){ if (find (symtab_details.begin(),symtab_
这段代码中的错误是什么:
#include <iostream> #include <vector> #include <algorithm> using namespace std; struct symtab{ string name; string location; }; vector<symtab> symtab_details; bool search_symtab(string s){ if (find (symtab_details.begin(),symtab_details.end(),s)!=symtab_details.end()) return true; return false; } int main() { bool get = search_symtab("ADD"); return 0; } 我收到以下错误:
解决方法
您正在尝试在std :: vector< symtab>中找到std :: string,“ADD”.当然那不行.
你需要的是 auto it = std::find_if(symtab_details.begin(),[&s](symtab const& item) { return item.name == s; }); return (it != symtab_details.end()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |