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...