我正在编写一个程序来搜索结构向量中的值范围,在尝试了将近一天之后,我仍然运气不好
这是我正在做的事情,我知道这是错误的
{in Function}
vector::iterator it=find_if(ip_records[ip].begin(),ip_records[ip].end(), find_it("2011-01-24 20:59.20", "2011-01-24 20:59.30"));
{DEFN}
struct find_it {
string start, end;
find_it(string start, string end):start(start){}
bool operator()(record const& r) const {
if ((strcmp(r.start_time.c_str(), start.c_str()) >= 0) && (strcmp(r.start_time.c_str(), end.c_str()) <= 0)){
return true;
}
}
我无法在find_it()
中收到2个字符串作为参数以下是一些我无法找到解决方案的链接
Vectors, structs and std::find
Searching c++ std vector of structs for struct with matching string
谢谢你
任何帮助表示赞赏
答案 0 :(得分:2)
您没有初始化初始化列表中的end
成员变量:
find_it(string start, string end):start(start), end(end) {}
//note this ^^^^^^^^
现在,它初始化它!