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)
怎么解决呢?
5 个解决方案
#1
设置最大维数,记录实际维数。
#2
#3
问题1是什么情况呢?为什么上面的没有设置维数可以运行,下面的没有设置维数就不能运行了?
#4
不使用结构体呗,用一个类对象把这些封装起来,做一个结构类~。结构体用的人真的不多,还用到像你那么麻烦中的麻烦的,更是少之又少,所以还真没研究过。
#5
Public Type LDLfenjie
L(3, 3) As Double
D(3, 3) As Double
End Type
Public LDL() As LDLfenjie
试了没有显示越界,如果不行试着把二维转为一维用
L(3, 3) As Double
D(3, 3) As Double
End Type
Public LDL() As LDLfenjie
试了没有显示越界,如果不行试着把二维转为一维用
#1
设置最大维数,记录实际维数。
#2
#3
问题1是什么情况呢?为什么上面的没有设置维数可以运行,下面的没有设置维数就不能运行了?
#4
不使用结构体呗,用一个类对象把这些封装起来,做一个结构类~。结构体用的人真的不多,还用到像你那么麻烦中的麻烦的,更是少之又少,所以还真没研究过。
#5
Public Type LDLfenjie
L(3, 3) As Double
D(3, 3) As Double
End Type
Public LDL() As LDLfenjie
试了没有显示越界,如果不行试着把二维转为一维用
L(3, 3) As Double
D(3, 3) As Double
End Type
Public LDL() As LDLfenjie
试了没有显示越界,如果不行试着把二维转为一维用