读书人

基础有关问题:数组的大小用这样的con

发布时间: 2012-02-06 15:52:45 作者: rapoo

基础问题:数组的大小用这样的const 数据为什么不行?
int lena = sizeof(a)/sizeof(a[0]);
int lenb = sizeof(b)/sizeof(b[0]);
const int lenc = lena + lenb;
const int n = 5;

int c[n];//ok
int c[lenc];//false

why?


[解决办法]
数组的大小要在编译时就确定
[解决办法]
数组的大小要在编译时就确定
[解决办法]
为了一个和这个类似的问题,我还邮件请教过裘宗燕老爷子呢,下面是他给我的回复,贴给你参考一下:

常量表达式里不允许出现控制结构(逗点运算符是控制结构),这是语言标准的要

求。你给的那个测试只能说明这个系统在这一点上不符合C++标准。虽然这好像不

是个大问题,但也会影响程序的可移植性。例如,想把你的这个程序移到其他C++

系统下,可能就会报错。

[解决办法]
数组的大小不能动态确定。。。

读书人网 >C++

热点推荐