c++ - Finding a specific item in a list -


first of all, know vector easier this. however, class , list helps sorting. now, have list of pointers sprite objects. start second item in list , run methods on them i'm not sure how start 2nd item, , how access sprites functions within list.

here code in question.

    list<sprite*>::iterator iter = sprites.begin();     iter++;     iter++;     while (iter != sprites.end())               //missile movement     {         dynamic_cast<missile*>(sprites[iter])->update();          if (!dynamic_cast<missile*>(sprites[iter])->getactive())         {             delete sprites[iter];             sprites.erase(iter--);         }          iter++;     } 

currently code set use vector of sprite pointers. cannot use current code call update or getactive on objects. can guys me understand how change syntax change sprites list?

list<sprite*>::iterator iter = sprites.begin(); if (sprites.size() < 2) throw std::runtime_error("too few sprites"); iter++; iter++; while (iter != sprites.end())               //missile movement {     if (missile* p = dynamic_cast<missile*>(*iter))     {         p->update();         if (!p->getactive())         {             delete p;             iter = sprites.erase(iter);         }         else             ++iter;     }     else         std::cerr << "warn: sprite not missile\n"; } 

Comments

Popular posts from this blog

user interface - How to replace the Python logo in a Tkinter-based Python GUI app? -

objective c - Greedy NSProgressIndicator Allocation -

how to set an OCR language in Google Drive -