VB结构体数组定义

feifc549 2012-07-17 10:28:50
我在程序中用到结构体:当结构体里面的数组都是一维时,我在结构体里面定义都没有定义维数:比如:
Public Type O_Data
data() As ObsVal
ComSateRS() As XYZRS
End Type
Public obs_data() As O_Data

Public Type PointPosition
x As Double
End Type
Public Poi_P() As PointPosition

里面第一没有定义obs_data(),Poi_P()维数,结果可以运行。
但现在我定义了结构体二维数组,不加维数就不能运行。如下:
Public Type LDLfenjie
L(3, 3) As Double
D(3, 3) As Double
End Type
Public LDL() As LDLfenjie
显示越界 为什么呢?当改成Public LDL(100) As LDLfenjie 时可以运行到下一步。
为什么上面可以不定维 下面的不行呢?而程序里维数是不确定的。。。
另外有没有好的方法不在结构体里面确定L D的维数,因为L D的维数是字母,但又不能写在定义里面L(n,n)
怎么解决呢?
...全文
706 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
几罗星人 2012-07-19
  • 打赏
  • 举报
回复
不使用结构体呗,用一个类对象把这些封装起来,做一个结构类~。结构体用的人真的不多,还用到像你那么麻烦中的麻烦的,更是少之又少,所以还真没研究过。
xxfly 2012-07-19
  • 打赏
  • 举报
回复
Public Type LDLfenjie
L(3, 3) As Double
D(3, 3) As Double
End Type
Public LDL() As LDLfenjie
试了没有显示越界,如果不行试着把二维转为一维用
feifc549 2012-07-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
我在程序中用到结构体:当结构体里面的数组都是一维时,我在结构体里面定义都没有定义维数:比如:
Public Type O_Data
data() As ObsVal
ComSateRS() As XYZRS
End Type
Public obs_data() As O_Data

Public Type PointPosition
x As Double
End T……
[/Quote]

问题1是什么情况呢?为什么上面的没有设置维数可以运行,下面的没有设置维数就不能运行了?
赵4老师 2012-07-18
  • 打赏
  • 举报
回复
设置最大维数,记录实际维数。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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