I'm trying to set Set::const_iterator to return list::iterator (return data.end();). To do this, what do I need to declare Set const_iterator and iterator (marked with ????) to make it work as I intended?
I think you want a template function pointer. In which case the data type for "const_iterator" would be "Data", as in the stand in name of your template. You also need to rewrite Line 9 so that "end()" is a template as well.
One more thing to say it that this code works using pointers to arrays but to convert it to use std::list I get stuck on this part I had previously posted. I have not be able to figure this one yet, any hints would help..
The typename isn't needed, it will just help you find bugs by giving an informative compile error if you'd used a container besides std::list that had a data member named iterator instead of a type.
EDIT: Sorry, I'm still figuring out this stuff myself. See ne555's post below.