24小时热门版块排行榜    

查看: 2631  |  回复: 4

schuhi

铜虫 (正式写手)

[交流] 数组溢出错误 已有1人参与

在进行焊接生死单元模拟的时候,第一次设定了两个数组,eorder1和eorder2,这两个数组均是1列250行,里面的单元是按照一定顺序排列的。输入命令流后进行计算,出现如下错误“subscript range error. parameter eorder2 is dimensioned as 250,but location 251 is being requested”.
这个错误的意思是我设定的eorder2的范围时250,但是实际数据的范围超过250了。但是我明明每个数组均是设定了250个位置啊,两个数组是独立的啊。难道eorder2是接着eorder1进行排列的?
我试试找问题,这次我把eorder1和eorder2分别拆分成5个数组,每个也就是50个元素了,进行计算,发现可以计算过去。
为什么?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

schuhi

铜虫 (正式写手)

另外,还有一个解决办法,将数组eorder1和eorder2设置成1列500行的数组。
2楼2014-03-27 14:44:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
应该是你使用数组时出问题了。你可以检查一下所有循环语句,循环变量是否有取值 251 的情况。做法很简单,在每个循环语句中添加一句,假设循环变量为 i:
    *if, i, eq, 251 then ......  
    删节号部分由你自己填写,能反映出错内容即可。
3楼2014-03-28 08:29:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

schuhi

铜虫 (正式写手)

引用回帖:
3楼: Originally posted by htbbzzg at 2014-03-28 08:29:10
应该是你使用数组时出问题了。你可以检查一下所有循环语句,循环变量是否有取值 251 的情况。做法很简单,在每个循环语句中添加一句,假设循环变量为 i:
    *if, i, eq, 251 then ......  
    删节号部分由你自 ...

好的,我试试,谢谢你
4楼2014-03-28 13:22:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

schuhi

铜虫 (正式写手)

我应该是在循环计算的时候取了一个不在wnum范围内的值。
谢谢各位
5楼2014-03-28 20:43:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 schuhi 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见