打印

const数组问题

[复制链接]
1131|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dfsa|  楼主 | 2012-7-14 21:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
const int a[] = {1, 2, 3, 4};
float f[a[2]]; //illegal
VS2010中错误提示表达式必须含有常量值
有点疑问,我这里是定义的常量数组,即定义了a[]数组,但是定义f[]时,
他的大小是a[2]=3,我定义了数组大小哦,咋这样报错呢!

相关帖子

沙发
gxgclg| | 2012-7-14 22:10 | 只看该作者
当const修饰数组的时候会为数据分配内存的,在编译阶段无法知道其值。在你直接用它的元素做其他组的下标时,编译的时候编译器无法知道其表示的值。

使用特权

评论回复
板凳
txcy| | 2012-7-14 22:17 | 只看该作者
这样的情况,建议楼主用enum吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝