这段程序有错误,因为if语句中的条件没有完成,需要补充id的最大值。同时,在erase元素后,迭代器it需要减一,否则会跳过下一个元素。

修改后的程序:

int max_id = 100; //假设id最大值为100 for (it = ls.begin(); it != ls.end();) { if ((*it).m_id < max_id) { it = ls.erase(it); } else { (*it).print(); it++; } }

for it = lsbegin; it != lsend; it++ 利用迭代器依次访问元素 if itm_id 注意:修改程序找出id最大值 it = lseraseit; itprint;

原文地址: https://www.cveoy.top/t/topic/fDZj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录