Вопрос немного неясен, но кажется, что вы пытаетесь создать экземпляр вектора Point2D, не имея доступного определения шаблона Point2D. Попробуйте добавить #include "Point2D.h"
в начало списка PointsList.h. Как уже упоминали другие респонденты, вы также пытаетесь использовать квалифицированный зависимый тип без typename
, поэтому вы также должны добавить изменить строку
TPointsList <T>::Type points; //Compiler error
до:
typename TPointsList <T>::Type points;