I don't understand why you are using a nested loop here. The loop variable enemy is not even used.
The remove function will search through the list and remove all elements that are equal to the passed in value. I think it should work (assuming the list doesn't contain duplicates) but it's a bit unnecessary because you already have an iterator to the element that should be removed. You probably want to use the erase function instead.
Removing elements from a list while iterating can be tricky because it invalidates the iterator. This means it is not valid to keep using it (e.g. enemyIt++) after you have erased the element. The erase function returns an iterator to the next element that you can use to update the iterator, but then you also need to change the code so that you only increment the iterator if the element was not removed.