сделать темплейт функцию для std::sort. У меня есть два класса: Point2D и Point3D, оба класса имеют параметр x и метод getX.
Мне нужно сделать сортировку вектора, поэтому пытаюсь написать фнукцию:
template<typename T>
bool sortByX(T a, T b) {
return a->getX() > b->getX();
}
Почему-то sort мою функцию не переваривает и выдает ошибку:
no matching function for call to 'sort(std::vector<Point2D*>::iterator, std::vector<Point2D*>::iterator, <unresolved overloaded function type>)'
Вот не могу понять, проблема в том, что нельзя делать такой дженерик и нужно просто сделать два раза функцию sortByX (для Point2D и Point3D) или же я где-то в другом месте ошибку допустил?
попробуй template < typename T1, typename T2 >
Обсуждают сегодня