Funkcja unique


(Mirex1) #1

Jaka działa ta funkcja?? Bo chciałem żeby pokazywała mi numery iteratorów powtarzających się elementów w w

wektroze.

vector:: iterator at;

at=unique(klasa.begin(),klasa.end());

i tu wywala błąd.


(Sawyer47) #2

W kwestii jak działa cokolwiek z biblioteki standarowej:

http://www.cppreference.com/wiki/

http://www.cplusplus.com/reference/

unique: http://www.cppreference.com/wiki/algorithm/unique


(Mirex1) #3

gdyby było dobrze wytłumaczone to bym nie pisał chyba?? dlaczego to co napisałem jest źle??

-- Dodane 01.06.2011 (Śr) 20:19 --

gdyby było dobrze wytłumaczone to bym nie pisał chyba?? dlaczego to co napisałem jest źle??


(Sawyer47) #4

Nie podałeś nawet co to za błąd (który zapewne wszystko wyjaśnia, wystarczy go tylko przeczytać). Moja kryształowa kula zgaduje, że to coś 'dd' nie ma operatora zdefiniowanego operatora porównania (o którym mowa w powyższych opisach).


(Mirex1) #5

to dd to jest klasa, czyli co operator = trzeba zdefiniować w tej klasie?? pytanie jak


(Sawyer47) #6

Trzeba napisać funkcję albo metodę o odpowiedniej nazwie, tutaj masz napisane jak wyglądają prototypy takich funkcji/metod: http://en.wikipedia.org/wiki/C_operators


(Mirex1) #7

znalazłem cos takiego

template void removeDuplicates(C& _c)

{

std::sort(_c.begin(), _c.end());

typename C::iterator i = std::unique(_c.begin(), _c.end());

_c.erase(i, _c.end());

}

-- Dodane 01.06.2011 (Śr) 21:13 --

chyba że jest prostsza metoda znalezienia pozycji duplikatów ??