问题描述
struct compar {
bool operator()(const vector<int>& a,const vector<int>& b) const {
return a[1] < b[1];
}
};
...
auto it = lower_bound(events.begin(),events.end(),{0,events[i][0]},compar());
这段代码给我一个关于 {0,events[i][0]} 的错误:
/bits/stl_algo.h:2022:5: note: candidate template ignored: couldn't infer template argument '_Tp'
lower_bound(_ForwardIterator __first,_ForwardIterator __last,^
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/algorithmfwd.h:353:5: note: candidate function template not viable: requires 3 arguments,but 4 were provided
lower_bound(_FIter,_FIter,const _Tp&);
^
1 error generated.
但是当我明确地将它定义为一个向量时,它可以正常工作。
vector<int> point = {0,events[i][0]};
auto it = lower_bound(events.begin(),point,compar());
有人能解释一下原因吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)