> template<class C> > class mymap { > public: > typedef std::map<SString, rc<C> > mmap; > typedef rc<C> rcC; > typedef std::map<SString, rcC > mmap2; > mymap<C>() { > tmap::const_iterator ti; > mmap::const_iterator mi; // error: expected `;' before 'mi' > mmap2::const_iterator mi2; // error: expected `;' before 'mi2' > } > };
You need to use: typename mmap::const_iterator mi; typename mmap2::const_iterator mi2; See the discussion about "dependent names" in: http://gcc.gnu.org/gcc-3.4/changes.html -- Philip Martin -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]