Здравствуйте, у меня есть несколько сложных операторов перегрузки для std::list.
Я храню пары в списке, состоящем из значения int и массива позиций:
typedef std::pair< int, std::vector<int,3> > pointPairType;
typedef std::list< pointPairType > pointListQueueType;
pointListQueueType pointsQueue;
// adding some points to the list
И я хотел бы отсортировать список по первому значению пары, я думал, что это сработает:
создание класса сравнения,
и снабдим его коротким алгоритмом:
// comparison function
template < class T1, class T2 >
class compareFirst
{
public:
bool operator() (const std::pair<T1,T2>& l, const std::pair<T1,T2>& r)
{
return l.first < r.first;
}
};
... и в основном:
// use of sorting algorithm : error here
pointsQueue.sort(< int, std::vector<int,3> >compareFirst);
Но я получаю "ожидаемое первичное выражение перед токеном '‹'
Любая помощь будет принята с благодарностью! Благодарность !