设为首页收藏本站

 找回密码
 注册
楼主: 扶老二
打印 上一主题 下一主题

反馈往数组末尾插入一项的bug [复制链接]

超级版主

TB官方客服

Rank: 10Rank: 10Rank: 10

精华
0
UID
102452
积分
475
帖子
308
主题
11
阅读权限
200
注册时间
2012-3-5
最后登录
2021-3-8
1#
发表于 2015-7-20 13:11:14 |显示全部楼层
数组的范围声明和你通过NumericArrayInsert函数增加是一回事,如果你通过在程序中取值,那么它也会对数组大小改变。例如你声明了 Vars    NumericArray arr[10];  在后面 Commentary(Text(arr[100]))输出,那么大小就改变了。

使用道具 举报

超级版主

TB官方客服

Rank: 10Rank: 10Rank: 10

精华
0
UID
102452
积分
475
帖子
308
主题
11
阅读权限
200
注册时间
2012-3-5
最后登录
2021-3-8
2#
发表于 2015-7-20 15:07:40 |显示全部楼层
扶老二 发表于 2015-7-20 13:30
这个我知道,关键现在问题是我动态往数组后面插入新的一项,应该怎么做?不是用NumericArrayInsert(arr,  ...

是啊,然后你就要注意在NumericArrayInsert有没有超过原定范围的使用。

使用道具 举报

超级版主

TB官方客服

Rank: 10Rank: 10Rank: 10

精华
0
UID
102452
积分
475
帖子
308
主题
11
阅读权限
200
注册时间
2012-3-5
最后登录
2021-3-8
3#
发表于 2015-7-21 09:22:11 |显示全部楼层
扶老二 发表于 2015-7-20 15:36
超过了的。比如之前是空数组,然后用NumericArrayInsert(arr, GetNumericArraySize(arr), 1350);动态push ...

这个不是bug,这是为了防止数组越界必须要遵守的规则。

使用道具 举报

超级版主

TB官方客服

Rank: 10Rank: 10Rank: 10

精华
0
UID
102452
积分
475
帖子
308
主题
11
阅读权限
200
注册时间
2012-3-5
最后登录
2021-3-8
4#
发表于 2015-7-21 14:50:50 |显示全部楼层
扶老二 发表于 2015-7-21 13:01
那么请问往数组末尾追加一项,需要用什么样的写法?

NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 1350);

使用道具 举报

超级版主

TB官方客服

Rank: 10Rank: 10Rank: 10

精华
0
UID
102452
积分
475
帖子
308
主题
11
阅读权限
200
注册时间
2012-3-5
最后登录
2021-3-8
5#
发表于 2015-7-22 10:49:17 |显示全部楼层
Vars
    NumericArray arr;
Begin
       NumericArrayInsert(arr, GetNumericArraySize(arr), 1);
       NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 2);
       NumericArrayInsert(arr, GetNumericArraySize(arr)-1, 3);
               
        Commentary("arr[0]:" + Text(arr[0]));
        Commentary("arr[1]:" + Text(arr[1]));
        Commentary("arr[2]:" + Text(arr[2]));
                Commentary("arr[2]:" + Text(arr[3]));
               
        Commentary("arrLen:" + Text(GetNumericArraySize(arr)));
End

插入的时候,总是牵涉到初始化和插入的起始位置的问题,第一个 GetNumericArraySize(arr)-1或者 GetNumericArraySize(arr)也就没有意义。

使用道具 举报

超级版主

TB官方客服

Rank: 10Rank: 10Rank: 10

精华
0
UID
102452
积分
475
帖子
308
主题
11
阅读权限
200
注册时间
2012-3-5
最后登录
2021-3-8
6#
发表于 2015-7-24 08:41:40 |显示全部楼层
扶老二 发表于 2015-7-22 22:50
斑竹,还有个问题,就是用这个实现,最后末尾会多出一项,值是0,如何解决? ...

因为牵涉到插入位置的问题,如果不影响您使用的话,建议您忽略

使用道具 举报

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

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-23 17:28

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部