• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

x64 환경에서는 에러가 뜹니다

24.03.17 16:26 작성 조회수 81

1

스크린샷3.png32 비트 환경에서는 결과가 무사히 잘 나오지만, x64로만 가면 다음과 같은 작은 창이 뜨면서 런타임 에러가 납니다.

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2024.03.18

안녕하세요, 질문&답변 도우미 Soobak 입니다.

 

첨부해주신 이미지를 자세히 보니, swap() 함수의 선언은 swap(int, int) 로 이루어진 반면,
정의는 swap(int*, int*) 으로 되어 있습니다.

따라서, 메모리 주소가 보통 4 바이트를 차지하는 32비트 시스템에서 우연히 int 의 자료형 크기와 일치하여 정상적으로 swap() 함수가 동작하는 반면, 메모리 주소가 보통 8 바이트를 차지하는 64비트 시스템에서는 잘못 작동하는 것으로 보입니다.