>> You simply cannot declare an array whose size is not known at compile time.

>In GCC you can. This feature is sailing under the name "Variable Length Array" ;)

It's a C(99) feature that's available in the C++ compiler as an extension.  If you use `-pedantic` you get a diagnostic like
```
t.cpp: In function ‘int main()’:
t.cpp:21: warning: ISO C++ forbids variable length array ‘a’
```