4 Oct
2002
4 Oct
'02
3:57 p.m.
I think the problem is in the definition of Select2ndRef; if you use: template<class pair_type> struct Select2ndRef { typedef pair_type argument_type; typedef typename pair_type::second_type result_type; result_type & operator()(pair_type & source) const { return source.second; } }; then your code will compile. This has to do with an unusual meaning of "result_type" for projection iterator adaptors. -Steve