C++11 isn't necessary for something this simple, don't worry about that.
If C++ is new to you, you need to go finish learning the language before you can use a library written in it. There's no getting around that.
And when asking for help, always post complete and minimal examples along with the exact error you get and where it happens.
In this case, you appear to have not fully grasped the links/examples in our previous posts because you aren't using the return value of erase(). If you don't do that the iterator becomes invalid (after all, you just deleted what it was pointing to) and that causes undefined behavior, in this case a crash.
And one minor point: the contains() function can take a Vector2, so you can just write
if(it->getGlobalBounds().contains(sf::Mouse::getPosition(App)))