Fix iterator type mismatch in basic_string::erase functions

This commit is contained in:
EnderIce2 2024-08-18 21:34:35 +03:00
parent 31dca2e9a6
commit e9d022169e
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD

View File

@ -1515,14 +1515,14 @@ namespace std
constexpr iterator erase(const_iterator position) constexpr iterator erase(const_iterator position)
{ {
size_type index = position - begin(); size_type index = position - cbegin();
erase(index, 1); erase(index, 1);
return begin() + index; return begin() + index;
} }
constexpr iterator erase(const_iterator first, const_iterator last) constexpr iterator erase(const_iterator first, const_iterator last)
{ {
size_type index = first - begin(); size_type index = first - cbegin();
erase(index, last - first); erase(index, last - first);
return begin() + index; return begin() + index;
} }