"Paul Davis" <pjdavis@xxxxxxxxxxxxxxxxxxxxx> writes: > This is just an academic question, but what exactly is causing this error: > > test.cc:31: error: dependent-name > 'std::map<int,TYPE,std::less<int>,std::allocator<std::pair<const int, > TYPE> > >::iterator' is parsed as a non-type, but instantiation yields > a type > test.cc:31: note: say 'typename > std::map<int,TYPE,std::less<int>,std::allocator<std::pair<const int, > TYPE> > >::iterator' if a type is meant This a standard C++ question, not a gcc question. Do a web search for "two-phase lookup". Ian