У меня есть ребра графа std:: list, и я хочу сортировать ребра на основе их конечной точки, а затем их нестабильности. Но я получаю исключение из недействительного оператора < во время моей функции сравнения ниже мой код. Мой список содержит указатели на края и ребра имеют узлы назначения в качестве их члена.
bool compareEdges(const Edge *e1,const Edge *e2){
if(e1->destination->outdegree < e2->destination->outdegree){
return true;
}
else if(e1->destination->outdegree > e2->destination->outdegree){
return false;
}
else if(e1->destination->indegree > e2->destination->indegree){
return false;
}
return true;
}
И вот вызов функции сортировки.
currentNode->edgeList.sort(compareEdges);
Пожалуйста, помогите мне удалить это исключение.
Спасибо