首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

基础有关问题:数组的大小用这样的const 数据为什么不行

2012-02-06 
基础问题:数组的大小用这样的const 数据为什么不行?int lena sizeof(a)/sizeof(a[0])int lenb sizeof

基础问题:数组的大小用这样的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++

系统下,可能就会报错。

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

热点排行