Код: Выделить всё
#include
#include
using namespace std;
int main()
{
vector intervals; // = ...
vector newInterval; // = ...
// ...
auto comp = [](const vector& a, const vector& b) { return a[0] < b[0]; };
auto it = upper_bound(intervals.begin(), intervals.end(), newInterval, comp);
}
В приведенном выше коде я могу найти позицию, в которую хочу вставить новый интервал, но я попробовал удалить const и получил ошибку компиляции. Почему нам нужно добавлять const if для этого специального компаратора? Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/786 ... rator-in-c