What is wrong in the following code:
Point2D.h
template <class T> 
class Point2D 
{     
   private:
         T x;
         T y; 
   ... 
 };
PointsList.h
template <class T>
class Point2D;
template <class T>
struct TPointsList
{
    typedef std::vector <Point2D <T> > Type;
};
template <class T>
class PointsList
{
    private:
            TPointsList <T>::Type points;  //Compiler error
 ...
};
I would like to create new user type TPointsList without direct type specification...