- The size of the array must be a constant integral expression.
- An integral literal is a constant integral expression. (
int arr[5];
) -
A constant integral variable initialized with a constant expression is a constant expression. (
const int j = 4; const int i = j; int a[i];
) -
A constant variable initialized with a non-constant expression is not a constant expression
int x = 4; // x isn't constant expression because it is not const const int y = x; //therefore y is not either int arr[y]; //error)