Cześć.
struct Punkt
{
public:
int osoba;
int pozycja;
bool czyRozpoczyna;
};
bool sortowaniePoPozycji(Punkt &a, Punkt &b)
{
return a.pozycja < b.pozycja;
}
... w mainie
vector<Punkt> punkty;
....... dodawanie elementow
sort(punkty.begin(), punkty.end(), sortowaniePoPozycji);
Taki kod u mnie w defaultowym kompilatorze code block g++ takie coś się kompiluje, a jak wysyłam na platformę z zadaniami, wypluwa błąd. kompilacji:
In file included from /usr/include/c++/4.8/algorithm:62:0,
from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
from /tmp/sioworkers_J8WNPI/a.cpp:1:
/usr/include/c++/4.8/bits/stl_algo.h: In instantiation of '_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Punkt*, std::vector<Punkt> >; _Tp = Punkt; _Compare = bool (*)(Punkt&, Punkt&)]':
/usr/include/c++/4.8/bits/stl_algo.h:2296:78: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Punkt*, std::vector<Punkt> >; _Compare = bool (*)(Punkt&, Punkt&)]'
/usr/include/c++/4.8/bits/stl_algo.h:2337:62: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Punkt*, std::vector<Punkt> >; _Size = int; _Compare = bool (*)(Punkt&, Punkt&)]'
/usr/include/c++/4.8/bits/stl_algo.h:5490:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<Punkt*, std::vector<Punkt> >; _Compare = bool (*)(Punkt&, Punkt&)]'
/tmp/sioworkers_J8WNPI/a.cpp:46:59: required from here
/usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: invalid initialization of reference of type 'Punkt&' from expression of type 'const Punkt'
while (__comp(*__first, __pivot))
^
/usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: invalid initialization of reference of type 'Punkt&' from expression of type 'const Punkt'
while (__comp(__pivot, *__last))
^
może mi ktoś powiedzieć czemu takie coś się dzieje?