Mam kontener wskaźników i chciałbym usuwać je w pętli poprzez iterator. Tzn. for(auto it = kontener.begin(); it !=kontener.end() .... itd. Jest taka konieczność z tego powodu, że usuwając elementy kontenera zmieniam tym samym jego rozmiar. Tylko, że o ile kompilator jest w stanie przemielić to:
delete *it;
To już nie jest w stanie tego:
if( *it->member_function() ) ...
Kompletnie tego nie rozumiem dlaczego w pierwszym przykładzie odwołuję się do wskaźnika, a w drugim już nie :| Wyrzuca taki error:
request for member 'member_function' in '* it.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-><Monster**, std::vector<Monster*> >()', which is of pointer type 'Monster*' (maybe you meant to use '->' ?)|
Jeśli tego się nie da zrobić na iteratorach, to proszę o jakiś sposób na zrobienie tego bez nich.