
Hi Rodrigo, The above program compiles OK for me with g++ 2.95.2. What compiler are you using? (there's a good chance the compiler error you are getting is a bug in your compiler, not in your code or in the Boost code). Cheers, Jeremy On Sat, 16 Mar 2002, rodrigo_braz wrote: rodrig> --- In Boost-Users@y..., Jon Kalb <kalb@L...> wrote: rodrig> > At 3:01 AM +0000 3/15/02, rodrigo_braz wrote: rodrig> > > copy(boost::make_filter_iterator<pair_is_active>(m.begin, m.end rodrig> ()), rodrig> > rodrig> > copy(boost::make_filter_iterator<pair_is_active>(m.begin(), m.end rodrig> ()), rodrig> rodrig> Ouch. Ok, sorry about that. Actually my main problem with this rodrig> iterator is in the code below: rodrig> rodrig> #include <vector> rodrig> #include "boost/iterator_adaptors.hpp" rodrig> rodrig> using namespace std; rodrig> using namespace boost; rodrig> rodrig> struct is_active { rodrig> bool operator()(int p) { return 0 < p; } rodrig> }; rodrig> rodrig> struct A rodrig> { rodrig> typedef rodrig> filter_iterator_generator<is_active,vector<int>::iterator>::type rodrig> active_iterator; rodrig> active_iterator i; // PROBLEM rodrig> }; rodrig> rodrig> int main() rodrig> { rodrig> A a; rodrig> return 0; rodrig> } rodrig> rodrig> I get the error messages: rodrig> rodrig> 15: Type name expected rodrig> 15: Multiple declaration for 'A::active_iterator' rodrig> 14: Earlier declaration of 'A::active_iterator' rodrig> 15: Declaration missing ; rodrig> rodrig> Thanks, rodrig> rodrig> Rodrigo rodrig> rodrig> rodrig> rodrig> rodrig> Info: <http://www.boost.org> rodrig> Wiki: <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl> rodrig> Unsubscribe: <mailto:boost-users-unsubscribe@yahoogroups.com> rodrig> rodrig> rodrig> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ rodrig> rodrig> ---------------------------------------------------------------------- Jeremy Siek http://php.indiana.edu/~jsiek/ Ph.D. Student, Indiana Univ. B'ton email: jsiek@osl.iu.edu C++ Booster (http://www.boost.org) office phone: (812) 855-3608 ----------------------------------------------------------------------