:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/07/22 10:50
제가 눈컴파일 실력이 모자라서, 코드를 돌려봤습니다 (winXP + vc6)
디버깅은 while의 조건문, while내부 첫번째 코드(nvec.push_back())에 각각 break-point를 걸고 돌려봤습니다. 결과는 루프의 조건문에서 계속 빙빙 돌기만 하고 while 내부 코드로 아예 들어가지 않더군요. -_-; 혹시나 해서 while구문을 대충 비스무리하게 for구문으로 바꿔보았는데요. for ( ; iter != vec.end(); iter = find_if(iter, vec.end(), bind2nd(less<int>(), val))) nvec.push_back(*iter); iter++; 1,2,3,4가 출력이 되네요. 일단 컴파일러의 문제일수도 있으니, 혹시 저처럼 visual studio에서 돌려보셨다면 bcc, gcc, mingw 같은 환경으로 테스트를 해보심이 좋을듯 합니다.
09/07/22 11:08
음.. 혹시나 온라인 컴파일러가 있나 해서 구글을 뒤지다가 아래의 사이트를 발견했습니다.
http://codepad.org/ 굉장히 편리한 사이트네요. 여러가지 언어를 지원해줍니다. 암튼 코드를 submit해서 결과를 보니 역시나 while 구문을 사용한 코드는 time-out이 뜨네요. for로 바꿔서 submit을 하면 결과가 나옵니다. 도대체 무엇이 문제일까요? 저도 모르겠습니다. 크
09/07/22 11:11
Humaneer님// while() 의 조건문에 문제가 있는 것일까요...? 제 생각에는 딱히 문제가 있어 보이지는 않아 보이는데...
작성해주신 for 문을 봐도 다른점이 없어뵈고요; WinXP + Visual Studio 2005를 쓰고 있습니다. 흠 ㅡ_ㅡ
09/07/22 11:13
Humaneer님// 오 정말 괜찮은 사이트군요. 웹에서 코드를 이렇게 실시간으로...
관심 가지고 도움 주셔서 정말 감사합니다.
09/07/22 11:25
DEICIDE님 //
아무래도 1. while()의 조건문에 문제가 있음 2. 컴파일러의 버그 둘 중 하나겠지요? 저는 2번의 가능성을 높게 보고 있습니다만.. 제가 알기로 vc 컴파일러는 는 버그가 꽤나 많아서 수정이 많이 되어왔지만 아직도 여기저기에 버그가 널려있다고 들었습니다. 특히 stl 쪽으로요. 아는 사람들에게 gcc로 컴파일해서 실행해보라고 해봐야겠네요. :-)
09/07/22 12:51
//아무거나 윗 문장도 컴파일이 됨니다 while( ...); <-- ;가 있다면 while문은 거기에서 끝나고 는 실행이 안됩니다 while아래에 있는 은 아무 의미 없는 문장으로 해석
09/07/22 12:52
크으으으으 ㅠ_ㅠ; 방금 while 조건문 마지막에 ;를 발견하고, 다른 분이 발견하기 전에 저의 댓글을 후딱 지우던지 -_-;
아무튼 조치를 취하러 오면서, 혹시 다른 분이 답글 달아놓으신건 아니겠지 하는 불안한 마음에 와봤더니, 역시나 달려있군요. 디버깅을 돌리면서도 왜 while수행 구문으로 안들어가는데 무한루프가 돌까? 만 고민했지 맨 뒤에 ;를 못봤네요. 컴파일러 버그니 뭐니 했는데 -_-; MS사에게 살짝 미안하네요. 암튼 -the end.
09/07/22 13:21
헉
ㅡ,.ㅡ 죄송합니다. (특히 Humaneer 님;) 답변달아주신분들 정말 감사하고요;;; 자진삭게행 가야하는것인지... ㅡ_ㅡ;;
|