c++ - Error with insert and reverse_iterator -
this question has answer here:
- how insert reverse_iterator 2 answers
i have error in code
void f(list<cclass*> mylist,cp* database,string namepoi){ //some code list <cclass*>::reverse_iterator ite; (ite=mylist.rbegin(); ite!= mylist.rend(); ite++) { mylist.insert(++ite,database->getpointer(namepoi));//compiler error } } the error : no matching function call 'std::list::insert(std::list::reverse_iterator&, cpoi*)' linedatabase->getpointer(namepoi) giving right output think m not using right insert command because when use normal iterator(not reverse_iterator), works perfect. thanks
list::insert takes iterators, not reverse_iterators. can convert reverse_iterator iterator calling base on it:
mylist.insert((++ite).base(), database->getpointer(namepoi));
Comments
Post a Comment