Automatic migration. Original reporter: "Timo"
- s.begin() = 98;
The above code gives a compiler error about assigning to a const variable (in MSVC2008). Took me some time to figure out what was going on because iterator::operator*() clearly returns "reference". But it doesn't actually mean String::reference, but std::iterator<>::reference, which is const, because its typedeffed from the template parameters given in String::const_iterator.
All the other types used in the iterator classes need to be checked too. I think at least "pointer" has the same issue.