擦,我改出来了。
把图中注释地方的语句互换一下顺序 ,即改成
 iter = str.begin(); iter = itr.erase(iter, iter + length); 
不过我不明白,在循环的时候这和原代码原理 不是一样吗,都是重置iter;   为啥 源代码不行???