나는 클래스 포인터 std::vector<Square*> listSquares
벡터가 있습니다. 클래스의 속성 중 하나를 키로 정렬하려고합니다. 이것은 내가std :: sort() 클래스 포인터 벡터
bool compById(Square* a, Square* b)
{
return a->getId() < b->getId();
}
std::sort(listSquares.begin(), listSquares.end(), compById)
을 뭘하는지하지만 컴파일러는 말한다 : 오류 : 종류 (표준 : : 벡터 :: 반복자 '에 대한 호출에 대한 일치하는 기능, 표준 : : 벡터 :: 반복자는, < 해결되지 않은 오버로드 함수 유형 >) '
여기서 내가 뭘 잘못하고 있니?
,이 람다해야한다) {return a-> getId() < b-> getId;})'. – leftaroundabout
실제로 포인터가 아니라 객체가 필요한지 확인하십시오. – chris
C++ 11을 사용할 수 없습니다. @chris 포인터를 사용하고 싶습니다. – qutab