list<my_object> my_list;
for(int x = 0; x < my_list.size(); x++){
my_object tempObject = (my_list.back() - x);
//more actions...
}
그러나 비록 http://www.cplusplus.com/reference/stl/list/back/ 쇼, 예를 Visual C++에서는 "연산자 없음"- "이 피연산자와 일치합니다"라고 말합니다 ...
저는 며칠 전에 C++을 시작했는데 아무 생각이 없습니다. 여기에서 어디로 가야합니까? 이런 식으로 물마루 목록을 볼 수 있습니까? 당신이 기반으로 C++ (11) 범위를 사용할 수 있습니다
for (auto i = begin(my_list), end = end(my_list); i!=end(); ++i) {
my_object tempObject = *i;
//more actions...
}
:
list<my_object> my_list;
for (list<my_object>::iterator i(my_list.begin()), end(my_list.end()); i!=end; ++i) {
my_object tempObject = *i;
//more actions...
}
C++ (11)와 반복자를 사용 :
http://programmers.stackexchange.com/questions/88241/whats-wrong-with-cplusplus-com – Griwes
'list'에'int'와'int'가 포함되어있어 링크 된 예제가 작동합니다. 빼기를 지원합니다. 귀하의 목록에는'my_object's가 포함되어 있으므로'my_object'가 "subtraction"을 지원하지 않으면 컴파일되지 않습니다. –
'back() -x' 부분은 목록을 거꾸로 반복하는 것으로되어 있습니까? 실제로 무엇을하는지는리스트 뒤의 값에서'x'를 빼기 때문에 코드가 실제로 원하는 것을 명확하게 밝히지는 않습니다. – jalf