gkfkagkfka12   6년 전

9%에서 런타임 에러가 나네요 ㅠㅠ 그리고 NO일 경우가 언제인지를 모르겠습니다

도와주세요 ㅠㅠ 스택을 제외한 메인 함수만 첨부합니다.

djm03178   6년 전

코드는 전체 코드를 올려주세요. 디버깅을 하는 가장 기본적인 방법은 직접 컴파일해서 돌려보는 건데, 전체 코드를 주시지 않으면 컴파일을 해볼 수가 없습니다. 올리지 않으신 부분에 문제가 있는 걸 수도 있고요.

NO가 되는 경우는 이런 게 있습니다.

3

3

1

2

gkfkagkfka12   6년 전

전체코드 수정해서 올렸습니다!

djm03178   6년 전

위에 올려드린 케이스에서 +++---++-를 출력해버리면 1을 빼기 위해 2를 먼저 pop해야 하므로 잘못되었습니다. NO를 출력해야 합니다.

gkfkagkfka12   6년 전

그부분을 수정하니까 이번엔 41퍼에서 런타임 에러가 나네요....ㅠㅠ

djm03178   6년 전

딱 20만개를 출력해야 하면 164번째 줄에 의해 탈출할 수 있을까요?

gkfkagkfka12   6년 전

164번째 줄이 아니어도 for문에서 조건이 20만개까지 출력하는 것이니까 탈출할 수 있지 않나요?

djm03178   6년 전

아 그러네요. 다시 봐야겠어요.

djm03178   6년 전

하... 저도 아직 무르네요. 이 버그를 잡는 데에 한참 걸리네요.

Stack의 소멸자에 보시면 55번째 줄에서 this->topNode->prev를 top에 부르고 있는데, topNode는 이 소멸자가 호출되는 시점에서 가지고 있던 topNode를 계속 가지고 있는 상태죠. topNode가 아니라 top->prevNode()를 가져왔어야 합니다.

gkfkagkfka12   6년 전

와 그걸 캐치하시다니....진짜 대단하십니다...전 언제쯤 발전할까요 ㅠㅠㅠ

정말 성심성의껏 답변해주신점 감사드립니다!!!!!

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