Вам нужен общий алгоритм слияния, который копирует из двух входных диапазонов, а не специализированный для списков (который переносит узлы в третий список):
std::merge(FirstList.begin(), FirstList.end(),
SecondList.begin(), SecondList.end(),
std::back_inserter(ThirdList));