Почему '[' - invalid index value?

 
Почему выдает ошибку '[' - invalid index value при объявлении массива	?
input int bars=1000;

int numberBars[bars];
 
LRA:

Все равно инвалид. А где где не ивалид?

 

 

input bars=1000;

void start()
{
 int b=bars;
 int numberBars[b]
}
 
AL752:

Все равно инвалид. А где где не ивалид?

int numberBars[1000]; 
 
sergeev:
А почему нельзя использовать переменную? 
 
AL752:   А почему нельзя использовать переменную? 
Транслятору нужен размер массива. Поэтому нужна константа, ведь переменная может измениться. Но транслятор обманет ArrayResize
Причина обращения: