>>123
とすると、
int a = 10;
int b[a];
がエラーになるのと同じ理由ですか?
でも、エラーメッセージがこちらの場合
「定数式が必要」
と出ます。まあ、ある意味
「不正な初期化」
ですが、ひょっとして、意味がちがうとか?