TC官方合作论坛

 找回密码
 立即注册
查看: 1438|回复: 4

[BUG反馈] 5.1越界调用数组不报警,改变原数组大小

[复制链接]
发表于 2015-5-9 17:39:59 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如下代码,在应该报错“数组调用越界”时没有报,并且在越界访问数组后会自动改变数组的大小。
  1. 变量 arr=数组()
  2.     变量 s0=数组大小(arr)
  3.     调试输出("空数组大小="&s0)         //值为0
  4.     变量 v0=arr[0]                    //此句应该是调用越界
  5.     调试输出("空数组的第1个元素值="&v0)//值为null
  6.     变量 v1=arr[1]                    //此句应该是调用越界
  7.     调试输出("空数组的第2个元素值="&v1)//值为null
  8.     变量 s1=数组大小(arr)
  9.     调试输出("访问空数组的2个元素后,数组大小="&s1)//值为2,说明对数组的访问改变了数组的大小
复制代码


回复

使用道具 举报

 楼主| 发表于 2015-5-9 17:53:03 | 显示全部楼层
这论坛不错 发表于 2015-5-9 17:44
这个不是BUG,而是数组内部自动处理了,4.X有数组空间.重定义,现在没了,自动处理了 ...

越界调用返回个空值还改变数组大小,这样处理不妥吧。
感觉比C++越界访问还危险,那个返回未知值却不会改变数组尺寸。
回复 支持 1 反对 0

使用道具 举报

发表于 2015-5-9 17:44:46 | 显示全部楼层
这个不是BUG,而是数组内部自动处理了,4.X有数组空间.重定义,现在没了,自动处理了
回复 支持 0 反对 1

使用道具 举报

发表于 2015-5-9 18:37:37 | 显示全部楼层
5.1没有下标越界这一说了动态数组了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-9 20:16:53 | 显示全部楼层
jimye0526 发表于 2015-5-9 18:37
5.1没有下标越界这一说了动态数组了

这样越界访问就不知道了,特别是数组元素值也是null时,感觉使用上很不安全。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-18 21:38 , Processed in 0.038115 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表