[Click] Perhaps trivial question

Bart Braem bart.braem at ua.ac.be
Fri Dec 3 10:22:32 EST 2004


Hello Eddie,

I merged my (ns)click version of erase with the cvs version and it works now. 
Thanks!

Bart

Op zondag 28 november 2004 20:43, schreef u:
> Hi Bart,
>
> I think you might have an old version of Click.  The current
> Vector<T*>::erase() has an explicit cast, which should be enough.  Can you
> update to the current anonymous CVS and let us know if that helps?
>
> Eddie
>
> Bart Braem wrote:
> > Hello,
> >
> > In my code I need to traverse a whole Hashmap, use the data inside each
> > entry and then delete that entry. I tried using the erase method based on
> > 1 iterator (later also with 2 iterator arguments) but it doesn't compile:
> > my iterator is incompatible with void**:
> > ../include/click/vector.hh: In member function `T**
> >    Click::Vector<T*>::erase(T**) [with T = Click::Packet]':
> > ../elements/aodv/aodv_waitingfordiscovery.cc:156:   instantiated from
> > here ../include/click/vector.hh:239: error: invalid conversion from
> > `void**' to ` Click::Packet**'
> >
> >
> > How is that solved? I see other people use it and it works there. The
> > difference is that in all available code erase is used on vector.begin()
> > and vector.begin()+1. But those are iterators, right? If I use the
> > following (pair->value.packets has type Vector<Packet*>) I get that
> > compiler error:
> >
> > pair->value.packets.erase(pair->value.packets.begin());
> >
> > Any help is appreciated as currently I use the back() and pop_back()
> > methods but that's not really safe.
> >
> > Thanks
> > Bart
> > _______________________________________________
> > click mailing list
> > click at amsterdam.lcs.mit.edu
> > https://amsterdam.lcs.mit.edu/mailman/listinfo/click

-- 
dwars, studentenblad van de UA
www.dwars.ua.ac.be


More information about the click mailing list