본문 바로가기

컴퓨터 과학 & 영상처리 관련/C / C++

동적할당 new BYTE()와 new BYTE[]

BYTE* pZoomImg;

int size = 179 * 179;

pZoomImg = new BYTE(size);

for(int p = 0 ; p < size ; p++)
pZoomImg[p] = (BYTE)p;     //여기서 죽음 

size = 179 * 179인데 ...한 32000쯤 되거든

근데 18000번재인가 쯤에서 죽드라고...

unhandled exception in WinTest.exe : 0xC0000005 : Access Violation 이렇게 뜨면서...

이게 머야? new로 동적할당했을때 지정한만큼 할당이 안될 경우도 있나? 

그래서 찾아보니 BYTE()대신에 []로 하니깐 됨..

컴파일시 에러가 안나네? 비쥬얼 스튜디오 6.0 이어서 그랬나?