als398   1년 전

런타임 에러나는 이유가 주로 배열의 인덱스를 잘못된 범위에 접근하는 등의 이유로 알고 있는데 list의 iterator를 사용하여 각 요소에 접근하여 답도 잘 나오는데 왜 런타임 에러가 뜨는지 모르겠습니다 ㅠㅠ

djm03178   1년 전

배열의 인덱스를 잘못 참조하는 것은 런타임 에러 원인의 일부일 뿐이고, 실제로 런타임 에러가 발생할 수 있는 원인은 매우 많습니다.

erase로 iterator가 지워지면 더 이상 그 iterator는 사용하면 안 됩니다. ++iter 조차 원칙적으로 할 수 없습니다. erase의 반환값을 이용해서 다음 원소의 iterator를 얻어와야 합니다.

als398   1년 전

작성해주신 댓글 보고

while 반복문 안에를 이렇게 고치니 해결되는군요! 자세하게 설명해주셔서 감사합니다! 이렇게 하나 더 알아가네요 !!


댓글을 작성하려면 로그인해야 합니다.