Bei der Array-Initialisierung wird die Variable const in C ++ verwendet

das kann funktionieren:

const int size = 2;
int array[size] = {0}; 

Dies hat Kompilierungsfehler:

int a = 2;
const int size = a;
int array[size] = {0};

Warum?