https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64649
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-01-17 Ever confirmed|0 |1 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Actually it's even worse than that, the next line will only work with pointers and not even arbitrary random access iterators: __fctyp.narrow(__first, __last, '?', &*__s.begin()); The signature of ctype<charT>::narrow is const charT* ctype<charT>::narrow(const charT*, const charT*, char, char*) const; So __first and __last are not acceptable arguments.