Я пытаюсь выяснить, как скомпилировать следующий код без предупреждения/ошибки.std :: sort на пару, у которой у 2-го элемента нет компаратора
Это часть кода, которую я вижу в проекте, над которым я работаю в офисе. (Имя переменного/класса было изменено)
vector<pair<time_t, ClassA *> > vec = getVecFromSomewhere();
std::sort(vec.begin(), vec.end());
Я проверил исходный код ClassA, который я не вижу какой-либо компаратор реализуется. Так верно ли, что только первый элемент пары требует компаратора?
Редактировать: все экземпляры ClassA происходят из одного и того же вектора.
Это 'ClassA *' не 'ClassA', вы сортируете указатель не значение. – Holt
[Эта ссылка на оператор сравнения std :: pair] (http://en.cppreference.com/w/cpp/utility/pair/operator_cmp) может быть полезна. –