When you try to create an iterator (in this case a vector) to a templatized container you will get a parse error, although I have no problem with creating a templatized container itself. const_iterator has the same problem. The following demonstrates: class<typename Tchar_type = char> class Object { std::vector<Tchar_type> m_charvector; //this works std::vector<Tchar_type>::iterator m_iter; //this gives a parse error, but... std::vector<char>::iterator m_iter2; //this is OK };
You have to use "typename" if you want to refer to nested typenames of template classes. W.
User error...