妖哥请进

__lhy 2011-07-26 02:46:24
妖哥,能不能再麻烦你解释下
extern PACKAGE Variant __fastcall VarArrayCreate(const int * Bounds, const int Bounds_Size, Word AVarType);
第二个参数 Bound_Size
我查看BCB帮助
他给出的是:Bounds_size参数是一个比值的总数少在最后一个值的数组越界的索引。因此,Bounds_size必须始终是一个奇数。
这个解释好迷惑。
我前面的帖连续回复3次
http://topic.csdn.net/u/20110726/10/f2296545-384c-4c70-9617-c08a00774113.html?4631
...全文
49 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2011-07-26
  • 打赏
  • 举报
回复
二维数组这样创建:

int Bounds[4] = { 1, 3, 1, 5};
Variant v = VarArrayCreate(Bounds, 3, varInteger);
...
__lhy 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ccrun 的回复:]

也许我的理解有误。我看了看以前写的代码中,创建二维数组时,Bounds_Size指定的是3

看来Bounds中存放的是数组的上下界,Bounds_Size则是Bounds中数字个数减1
[/Quote]
多谢妖哥
二维数组是这样创建的吗
int bounds[][2]={{0,1},{0,1}};
Variant v=VarArrayCreate(bounds[2],3,varVariant);
v.PutElement("123",0,0);
这样会在VarArrayCreate这句报错?
ccrun.com 2011-07-26
  • 打赏
  • 举报
回复
也许我的理解有误。我看了看以前写的代码中,创建二维数组时,Bounds_Size指定的是3

看来Bounds中存放的是数组的上下界,Bounds_Size则是Bounds中数字个数减1
ccrun.com 2011-07-26
  • 打赏
  • 举报
回复
我的理解是:Bounds中存放的是数组的索引,Bounds_Size是数组的维数。

至于“你说的Bounds_size必须始终是一个奇数”,我不清楚。

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧