Witam. Napisałem program, ma sortować punkty, ale to nieważne. Wszystko kompiluje się dobrze, ale pojawia się problem podczas wykonania, którego nie potrafię sobie wytłumaczyć.
Otóż chodzi o następujący fragment kodu(funkcji lomuto_partition):
if(pp[j]->*wsk <= x->*wsk)
{
swap(pp, i, j);
i++;
}
Otóż wywala tutaj segmentation fault. Co dziwne jeśli zamienię operator <= na < to wszystko działa w porządku. Jeśli nie operuję na wskaźnikach do składników klasy błąd również występuje. O co chodzi, co może być nie tak? Będę wdzięczny za odpowiedź.
P.S Nie wiem czy to może mieć znacznie, ale funkcja swap wygląda tak:
void swap(punkt** tab, int i, int j)
{
punkt* pom = tab[i];
tab[i] = tab[j];
tab[j] = pom;
}