2014-03-27 2 views
0

왜이 방법으로 루프를 사용할 수 없는지 알고 싶습니다. 내 바꾸기 및 삽입 방법에서이를 사용하지만 루프 회선에 대한 오류가 발생합니다.컨테이너 목록, for 루프에 대한 오류가 발생합니다.

Contact return(const list<Contact> &listOf, int index) { 
    for(list<Contact>::iterator it = listOf.begin(); it != listOf.end(); it++){ 

    } 

    return Contact(); //dummy return. don't know what to do here 
} 

코드를 구현하는 방법에 대한 도움이 필요하며 반환해야 할 항목은 무엇입니까?

나는 올바른 객체를 얻으려는 경우 statment를 확인하는 방법을 알고 있지만 statment와 if 대신에 "Contact();"로 무엇을 써야 할지를 모릅니다.

+1

키워드를 함수 이름으로 사용할 수 없습니다. – chris

+0

"무엇을 반환해야합니까?"에 대한 질문을 명확히하십시오. – jsantander

+0

나는 마녀 색인에 마녀를 검사하는 법을 안다는 것을 의미한다. 그러나 나는 statement 경우 어떻게해야합니까 모르겠어요. – user3127680

답변

2

를 사용하여 A const를 목록

Contact return_function(const list<Contact> &listOf, int index) { 
    for(list<Contact>::const_iterator it = listOf.begin(); it != listOf.end(); it++){ 

    } 

    return Contact(); //dummy return 
} 

편집을위한 const_iterator를. 다른 사람이 지적한대로 함수 이름을 수정했습니다 ...

1

listOfconst이므로 const_iterator이 필요합니다.

Contact return(const list<Contact> &listOf, int index) { 
    //   ^^^^^---const container-----< 
    //         ^
    // const_iterator--vvvvvv because of ->| 
    for(list<Contact>::const_iterator it = listOf.begin(); it != listOf.end(); it++){ 

또한 함수 이름을 바꿔야합니다. return은 키워드입니다.

+0

나는 내가 단지 내 languge에서 trnaslate 알아. :) – user3127680

관련 문제