Можно определить конструктор List<T>::const_iterator от List<T>::iterator и должно заработать. Сейчас компиль не понимает, как ему преобразовать const_iterator в iterator.
Ещё можно при текущей реализации попробовать отдельно создать объект const_iterator, затем ему присвоить iterator.
C++ (Qt)
List<int> list;
List<int>::const_iterator it;
it = list.begin();