|
그래도 되지 않는데요...
다른 방법이 없을까요??
수야!╋ 님이 쓰신 글 :
: -_-;;
:
: 조금 비슷한 경험이 있습니다..
:
: int b[100];
: for( int i = 0; i < 100; i++ )
: {
: b[i] = i;
: }
:
: 이렇게 비슷하게 생긴거였는데..
: b의 i번째에 i가 입력되는게 아니라 i 에 i가 대입되더군요 -_-;;
:
: 해당 Obj 파일을 삭제하시고 다시 컴파일하셔서 해보세요 ( DLL 포함 )
:
: -_-;;
:
: 다꾸엔젤 님이 쓰신 글 :
: : 안녕하세요....
: :
: : 프로그래밍을 하다가 이상한 현상이 발생되어 문의 드립니다.
: :
: : 프로그램은 다음과 같습니다.
: :
: : int a=0;
: :
: : for(a= 0; a< 60; a++){
: : b[a] = c(a+1,1); <-- 여기가 문제가 있는 구문입니다.
: : }
: :
: : 이런식으로 되어 있는 프로그램입니다.
: :
: : 여기서 int a는 지역변수이며 b[]는 클래스에서 사용하는 전역변수 입니다.
: :
: : 또한 c() 함수는 DLL을 임포트 해 오는 함수라고 보면 됩니다.
: :
: : 여기서 한가지 이상한 일은 어느정도 루프를 돌다가 이상한 값으로 변해버린다는 것입니다.
: :
: : Access Violation 에러가 발생되어서 디버깅을 해본 결과 a값이 0,1,2,3,4, .. 이런식으로 차례로 들어가다가
: :
: : 갑자기 42342 와 같은 숫자값이 들어간다는 것입니다.
: :
: : 물론 함수뿐만 아니고 클래스내에 a라는 변수는 존재하지 않습니다.
: :
: : 그래서 c(a+1,1) 함수를 제외하고 실행시키니 문제가 없더군요..
: :
: : c(a+1,1) 함수에 의해서 변수 a값이 왜 변하는지 알고 싶습니다.
: :
: : 혹시라도 이러한 경우를 당하신(?) 분이 계시다면 많은 조언 부탁드립니다.
: :
: : 관계는 없겠지만 c(a+1,1) 함수에도 a라는 변수는 존재하지 않습니다.
|