Исправление Deleted, (текущая версия) :
Во-первых, шаблонные классы (в твоём случае это Node) разбить на объявление (.h) и реализацию (.cpp) не выйдет. По этому код из node.cpp переноси в node.h (самое простое решение).
На самом деле можно разбивать, но для этого нужно в cpp определить все возможные специализации шаблонов, для которых нужно сгенерить код. Но такое далеко не всегда возможно сделать красиво.
Исходная версия Deleted, :
Во-первых, шаблонные классы (в твоём случае это Node) разбить на объявление (.h) и реализацию (.cpp) не выйдет. По этому код из node.cpp переноси в node.h (самое простое решение).
На самом деле можно разбивать, но для этого нужно в cpp определить все возможные специализации шаблонов, для которых нужно сгенерить код.