编程论坛
注册
登录
编程论坛
→
C++教室
[求助]定义一个数组时,中括号中的数可不可以是之前定义的一个变量?
kakawei
发布于 2007-11-07 17:45, 3819 次点击
定义一个数组时,中括号中的数可不可以是之前定义的一个变量?
如:
int n;
cin>>n;
int a[n];
7 回复
#2
aipb2OO7
2007-11-07 17:57
不可以,静态数组的大小在编译时确定的常量
你那样就是运行时确定了,用动态数组
#3
jonc
2007-11-09 16:45
不行
同意二楼
兄弟伙顶一下!
#4
孤魂居士
2007-11-09 17:27
#5
nearforest
2007-11-09 17:50
int n;
cin>>n;
//int a[n];
int *a= new int(n);
...
delete [] a;
#6
kakawei
2007-11-09 18:22
Thank you!
#7
cz522321
2007-11-09 20:46
肯定不能,因为在程序编译的过程中,就要给数组分配内存大小,必须是确定的内存数值。所以中括号里的在程序编译过程中为变量的话都是非法的。
#8
kakawei
2007-11-09 22:02
为什么我在devc++编译器上可以
1