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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 18:00:52
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)
;哪里错了?怎么改?

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()