关于数组下标和常量表达式的错误问题 应输入常量表达式

error C2057: 应输入常量表达式

error C2466: 不能分配常量大小为 0 的数组

error C2087: “RefFrmPrjPatch_x”: 缺少下标

如下则会产生以上错误:

const int nPatch = 4;
const int CurtPatchWidth = 200; // 当前帧图像块宽度
const int MovePatchW = (int)(cos(1.5)+10);
关于数组下标和常量表达式的错误问题 应输入常量表达式
const int PrevPatchWidth= MovePatchW; // 参考帧(前一帧)图像块宽度
int RefFrmPrjPatch_x[4][PrevPatchWidth] ={0};

修改第三句则没有错误:const int MovePatchW = 5+10;

注:观测可知,第一种情况MovePatchW、PrevPatchWidth仍为常变量,只是采用函数表达式赋值,可能这个常变量不被数组接受为常量,结果不能作为数组下标;

第二种情况二者也为常变量,采用数值赋值,常变量等价于常量,就可以给数组赋值。

PS:这是我和同学实验了好久得出的结论,不知正确否,留待参考吧!

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/67350.html

更多阅读

小说关于史今和伍六一的归宿问题 伍六一史今同人

因为太在意伟大的班长和血性的班副最后过得好不好,我直接翻看了原著小说,三页纸的内容,打字可用了一个半小时,为班长和班副,值了!!兰老不要告我侵发犯其著作权哦,真的是因为喜欢痴迷才摘印一段,下不为例!!而且里边一个字一个标点符

一维数组的定义、初始化和引用 一维数组初始化为0

一维数组的定义、初始化和引用一维数组的定义、初始化和引用1.一维数组的定义方式为:类型说明符 数组名[常量表达式](1)数组名的命名方法与变量名相同,遵循标识符命名规则;(2)数组是用方括号括起来的常量表达式,不能用圆括号;(3)常量表达式表

孙武兵法与孙膑兵法之较下 孙膑和孙武的关系

(北京军事历史博物馆-孙武铜像)欲比较孙武兵法与孙膑兵法的区别,首先说这两部兵书产生的时代背景不同。一、时代背景不同,造就了孙武兵法与孙膑兵法的侧重点不同孙武兵法写与春秋时期,孙膑兵法写于战国时代,孙膑是孙武的后人,前后相差大

声明:《关于数组下标和常量表达式的错误问题 应输入常量表达式》为网友要拼才会赢分享!如侵犯到您的合法权益请联系我们删除