Hi Suresh,

Sorry for the late reply, maybe you answered this by yourself. You need to add the keyword "typename" before all the expressions of the form std::vector<QPoint<T>>::iterator or std::vector<QPoint<T>>::const_iterator, etc... This is because vector<QPoint<T>> is a template-depending expression (depending on T) so the compiler cannot know before template instantiation that "::iterator" is a type, you have to tell it explicitly.

Your code compiles fine once this is done.

Regards
Bruno