array bound expression uses function name
An array is declared with a bound expression that is a function name. Array bounds must be a type that can be converted to type int.
Example
int func(); void bunc() { char *buf; buf = new char[10]; // OK buf = new char[func]; // error, array bound is function name buf = new char[bunc]; // error }