c++ vector::iterator first=v.begin(),last=v.end(); while(first!=last){ first=v.insert(first,42);哪里错了?怎么改?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/15 00:35:59
c++vector::iteratorfirst=v.begin(),last=v.end();while(first!=last){first=v.insert(first,42);哪里错了?怎么改

c++ vector::iterator first=v.begin(),last=v.end(); while(first!=last){ first=v.insert(first,42);哪里错了?怎么改?
c++ vector::iterator first=v.begin(),last=v.end(); while(first!=last){ first=v.insert(first,42)
;哪里错了?怎么改?

c++ vector::iterator first=v.begin(),last=v.end(); while(first!=last){ first=v.insert(first,42);哪里错了?怎么改?
因为循环里有Insert操作,所以.end()返回的迭代器指针是不能事先确定的.
应该去掉last = v.end();这句,同时把while的条件改为 first != v.end()