Прошу прощения, я спешил и не посмотрел как следует.
Сейчас попробовал скомпилировать это пример как три разных файла,
только List.cpp переименовал в list.cpp, модуль с main скомпилировался,
а list.cpp - нет, сообщения такие:
list.cpp: In destructor ‘List<T>::~List()’:
list.cpp:22:17: error: there are no arguments to ‘GoBegin’ that depend on a template parameter, so a declaration of ‘GoBegin’ must be available [-fpermissive]
GoBegin();
^
list.cpp:22:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
list.cpp:24:26: error: there are no arguments to ‘DelAfter’ that depend on a template parameter, so a declaration of ‘DelAfter’ must be available [-fpermissive]
DelAfter();
^
ld: cannot find list: No such file or directory
понятно, что ld не может построить исполнимый файл.
Пётр.