The expression must be constant at compile time. Your code uses a run-time constant. A compile time constant would look like this:
const int x = 5;
To create an array at runtime, use the
Point *Room = new Point[size];
delete  Room;
Noted that Carlo has edited his solution to use an array of pointers to
to use the same types as in the question. I will left my example unchanged, because it may be the intention to use this kind of array. If not, Carlo's answer should be used.