[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: g++ template problem



> 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



Reply to: