Hi, afaics the gcc-4.6 accepts following code: #include <string> int main() { std::string line( "blabla" ); line.erase( --line.end() ); } but other compilers reject such code: msvc8 : error C2105: '--' needs l-value comeau : error: expression must be a modifiable lvalue is it a bug in g++? BR, Paweł.