Problem z vectorem

0

Nie moge znalezc bledu.

"error: no match for ‘operator=’ in ‘it = (& v_ref)->std::vector<_Tp, _Alloc>::begin<Pozycja, std::allocator<Pozycja> >()’"
" error: no match for ‘operator==’ in ‘it.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator*<Pozycja*, std::vector<Pozycja> >() == wzor’"

bool czy_zawiera(const vector<Pozycja> &v_ref, const Pozycja &wzor) {
	vector<Pozycja>::iterator it;
	for(it=v_ref.begin();it<=v_ref.end();it++) {
		if((*it) == wzor) return true;
	}
	return false;
}

Nie wiem czemu to nie dziala. Z podobnymi funkcjami nie bylo problemu :)

0

http://ideone.com/nu7zfK

Bledy:
Wywal const przed vector.
Nie masz operatora porownania przeciazonego w klasie, ktora porownujesz.

0

Aby iterować po const vector użyj odpowiedniego iteratora:

vector<Pozycja>::const_iterator

Jak przedmówca zauważył - brak operatora porównania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1