목록의 일부 요소를 제거하고 싶습니다. 아래 구현에서 7, 14, 26, 77을 제거하고 싶습니다. 마지막으로 17, 89, 45, 50을 인쇄합니다. 하지만 뭔가 이상하게 보입니다 (이 프로그램은 성공적으로 실행되지만 아무 것도 인쇄하지 않습니다). 아무도 도와 줄 수 있습니까?C++에서 목록의 일부 요소를 제거하는 방법
// remove from list
#include <iostream>
#include <list>
using namespace std;
int main()
{
int myints[]= {17,89,7,14,26,77,45,50};
std::list<int> mylist (myints,myints+8);
std::list<int>::iterator p = mylist.begin();
std::list<int>::iterator q = mylist.begin();
advance(p, 2);
advance(q, 5);
for(p; p!=q; p++){
mylist.remove(*p);
}
std::cout << "mylist contains:";
for (std::list<int>::iterator it=mylist.begin(); it!=mylist.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
return 0;
}
을 기대했던, 당신을 무엇 'p ++'가해야한다고 생각하니? – Steve
이 프로그램은 성공적으로 실행되지만 아무것도 출력하지 않습니다. – kdhug886
처음에 얼마나 많은 요소를 mylist에 추가합니까? – 1201ProgramAlarm