Cómo interpretar el comportamiento del siguiente fragmento

Parece código C ++ 11 en un compilador anterior. std :: list :: insert usó para devolver el vacío, y como su compilador está diciendo, no puede inicializar un iterador con un vacío. Ver std :: list :: insert – cppreference.com