As of C++11, std::string::erase takes const_iterators in its signature. As of 4.8.2, this isn't the case.
I see other bugs referencing similar issues - for instance, http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54577 is marked as FIXED, but I see the signature of deque::erase is still wrong.
deque::erase() is fixed for 4.9, string will be fixed after 4.9
Fixed for GCC 5 (when using the new string ABI)