问一下子,C++里面定义数组的时候,数组大小可以用变量表示么

问一下,C++里面定义数组的时候,数组大小可以用变量表示么?
如题,在C++ primer以及其他的材料里面说到,不能用变量给数组定义大小。
也就是
int a=10;
int b[a];
是不对的。

可是在DEVC++里面是可以编译通过的,请问这是怎么回事。

到底那个是对的?
------解决方案--------------------
这个叫变长数组, 新的编译器, 支持新的标准就可能有这种写法.
支持C99标准的就有这个变长数组了.
否则不支持.