const int x=4; int arr[x]; 이건되는데 const int x=pow(2,2); int arr[x]; 이건왜 안되냐? pow반환값이 double인거랑 관계있음? 구글링존나했는데 못찾겠음 근데 위에껏도 원래는 안되는거아닌가? 모르겠다
상수의 의미를 곱씹어보셈
const 가 붙은애들은 컴파일 타이밍에 정해짐. 근데 pow 함수는 런타임에 실행되는애라 오류가 발생하는거임
위에건 const가 constant expression고 뒤에 건 런타임에 정의돼서 const지만 constant expression이 아님.
자세한 건 constant expression 관련해서 찾아보면 나올텐데 const가 항상 constant expression은 아님.