Почему нам нужно добавить const в пользовательский компаратор в C++C++

Программы на C++. Форум разработчиков
Anonymous
Почему нам нужно добавить const в пользовательский компаратор в C++

Сообщение Anonymous »

Код: Выделить всё

#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);
}
Я не очень хорошо знаком с C++ и не понимаю, как работает компаратор.
В приведенном выше коде я могу найти позицию, в которую хочу вставить новый интервал, но я попробовал удалить const и получил ошибку компиляции. Почему нам нужно добавлять const if для этого специального компаратора? Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/786 ... rator-in-c

Вернуться в «C++»