注册 登录
编程论坛 C++教室

[求助]定义一个数组时,中括号中的数可不可以是之前定义的一个变量?

kakawei 发布于 2007-11-07 17:45, 3819 次点击
定义一个数组时,中括号中的数可不可以是之前定义的一个变量?
如:
int n;
cin>>n;
int a[n];
7 回复
#2
aipb2OO72007-11-07 17:57
不可以,静态数组的大小在编译时确定的常量

你那样就是运行时确定了,用动态数组
#3
jonc2007-11-09 16:45

不行
同意二楼
兄弟伙顶一下!

#4
孤魂居士2007-11-09 17:27
#5
nearforest2007-11-09 17:50
int n;
cin>>n;
//int a[n];
int *a= new int(n);
...

delete [] a;
#6
kakawei2007-11-09 18:22
Thank you!

#7
cz5223212007-11-09 20:46
肯定不能,因为在程序编译的过程中,就要给数组分配内存大小,必须是确定的内存数值。所以中括号里的在程序编译过程中为变量的话都是非法的。
#8
kakawei2007-11-09 22:02
为什么我在devc++编译器上可以
1