1、以前肯定也不能写int a[];至少VC6不能写,除非你int a[] = {1,2,3,4,5};这是可以的。不过这样在2010里应该也是可以的;
2、至少VS2008里面char b[] = {"hwo do you do?"};还是可以用的,你说不能用的具体错误是什么?
3、其实是可以的,但是你想这样是不行的,不管哪个版本都不行:
int x = 10;
int a[x]; //这个不行
有两种途径解决:
1、用new []或malloc之类的在对上申请内存,用完后delete []或free释放;这个很简单,就不用多说了吧?
2、用_alloca,示例如下:
int x,*pa;
cin>>x;
if(x>0)
pa = (int*)_alloca(x*sizeof(int));
用_alloca的好处是它是在栈上申请的内存,速度很快,而且不用手动释放。使用前#include