i had posted, the erase is returning the begin()
It is returning end(). However:

- for 1 or more elements, end() returns 1 past the last element
- for no elements, end() returns begin()

This is so that the standard iterator for statement:

Code:
for (auto iter = cont.begin(); iter != cont.end(); ++iter)
works when the container is empty as well as when it has elements.