Функция сортировки недопустима. Для начала вектор должен быть передан по ссылке. И вектор пропускается не через указатель. Поэтому вы не можете применять оператор ->
к нему.
Таким образом, определение функции будет выглядеть как
void sortingFunction( vector<Car*> &arrayOfCars )
{
sort( arrayOfCars.begin(), arrayofCars.end(), comparator );
}
Компаратор может быть записан с этими незначительными изменениями
bool comparator( const Car *firstObject, const Car *secondObject)
{
return firstObject->get_position() > secondObject->get_position();
}
В этом случае функция-член get_position
должна быть постоянной функцией-членом, которая объявляется как
T get_position() const;
^^^^^
, где T
- тип возвращаемого значения функции.