Get errors in C using vector and struct

What is the error in this Code:

#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;
}

I received the following error:

Solution

You are trying to find STD:: string, "add" in STD:: vector < symtab > Of course not

What you need is STD:: find_ if.

auto it = std::find_if(symtab_details.begin(),[&s](symtab const& item) { return item.name == s; });
return  (it != symtab_details.end());
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>