인프런 커뮤니티 질문&답변
버퍼 오버런
작성
·
457
2
int len;
cin >> len;
int *array = new int[len] {};
array[0] = 1;
array[1] = 2;
for (int i = 0; i < len; i++)
{
cout << (uintptr_t) & array[i] << endl;
cout << array[i] << endl;
}
delete[] array;
교수님.
코드를 따라 쳐보니 출력에는 이상없습니다.
그런데 경고가 뜨는데요.. 이해가 가질 않습니다.
C6386 'array'에 쓰는 동안 버퍼 오버런이 발생했습니다. 쓰기 가능한 크기는 'len*4'바이트인데 실제로는 '8'바이트만 쓸 수 있습니다.
답변 1
2
홍정모
지식공유자
안녕하세요? 빌드할때 warning이 나타난다는 얘기신가요? 제가 지금 코드를 그대로 긁어다 붙여서 해봤는데 워닝이 나타나지를 않네요. 다른 프로젝트에서 나타난 워닝일 수도 있고 버전 차이일 수도 있고 등등 조금 더 확인해보셔야겠네요. 워닝도 어느 줄인지 라인 넘버가 같이 나올겁니다.





