2013-06-14 2 views
2

목록을 사용하는 간단한 프로그램을 코딩하고 있습니다. 이미 모든 기능을 갖춘 목록을 만들었지 만 지금은 STL로 변환하고 싶습니다. 성공적으로 몇 가지 기능을 수행했지만 새로운 요소를 추가하고 사용자가 선택한 요소를 제거해야하는 작업에 얽매여 있습니다. STL에STL 목록 선택한 요소 추가 및 제거

list <Komputer> lista_komputerow_STL; 
list <Komputer>::iterator it; 
///This should add an element: 
lista_komputerow_STL.push_back(Komputer(nazwa)); 
///This should remove chosen element: 
int element; 

for(int i=0;i<(element-1);i++) 
{it++;} 
lista_komputerow_STL.erase(it); 

내가 completaly 새로운 오전과 지금은 저를 위해 많이 것 같다,하지만 난 당신의 도움으로 나는 그것을 얻을 것이다 희망 :

내 코드를 이잖아.

당신은 반복자 초기화해야

답변

6

: 또한 선택한 element

list <Komputer>::iterator it = lista_komputerow_STL.begin(); 

가 초기화되지 않고, 나는 가정 당신의 문이 될 것을 :

int element = 0; 
for(int i=0; i<element; i++)  // Without the '-1' 
... 

그리고 이동하는 std::advance를 사용하는 것이 좋습니다 것입니다 for 루프 대신 반복자 :

std::advance(it, element); 

하지만 base example을보고 알 수없는 것이 있으면 알려주세요 ...