}
에러가 뜨는곳은 회색 박스를 친 arr1과 arr3의 배열 크기 부분입니다.
디버그 시에 호출되는 문장은 둘다
error C2057: expected constant expression
error C2466: cannot allocate an array of constant size 0
error C2133: 'arr1' : unknown size
코드의 목적은
배열의 초기화 시에 배열 크기 부분에 여러가지 형태의 상수를 넣은후에 결과를 보는것인데요
우선 arr1의 x는 main내에서 정수 변수 a를 사용자로부터 값을 인력 받은후에
상수형 정수 변수 x에 a의 값을 저장시킨 것입니다. 그 결과 에러가 나왔구요
arr2의 y는 상수형 변수의 선언과 동시에 초기화 시킨것입니다. 에러가 안나옵니다.
arr3은 arr1과 비슷한데 다른 함수로 부터 입력받은후에 그 입력받은 값을
상수형 정수에 저장시키고 그 상수형 정수를 반환시킨값을 저장한것인데 마찬가지로 에러가 나옵니다.
arr4의 INTEGER는 #define을 이용해서 상수를 선언한 후에 사용한것인데 에러가 안나옵니다.
상수형 정수라고 할지라도 상수를 통해서 값을 받은것이느냐 변수로부터 값을 받은것이냐에 따라서
에러가 뜨냐 안뜨냐가 달라지는것 같은데....
도대체 위의 2개의 차이가 무엇인지 모르겠네요....
------------------------------------
컴파일 과정에서 오류가 발생한건 이해가 되네요.... 그러면
#include<iostream>
}
new를 이용하여 자유기억공간에 메모리를 넣는 것은 컴파일러에 영향을 안받는 건가요??