답변:
"const"는 단지 변수가 런타임에 변하지 않는다는 것을 의미하며 컴파일 할 때 그 값을 추론 할 수있는 것은 아닙니다.
당신이 찾고있는 것이 "constexpr"이라고 생각합니다. 아마도 다음과 같이 시도해 볼 수 있습니다.
constexpr int b = 4; // can't be assigned from a!
int d[b];
"constexpr"은 대신 "실제 const"를 의미하고 "const"는 일부 역사적 이유 때문에 "변하지 않는 var"만 의미합니다. @Bathsheba가 말한 것처럼 c ++의 기본 배열은 항상 고정 길이입니다.