szwbluesky 发表于 2004-12-31 11:44:00

为什么要求常数表达式??

win2000,2002 VBA
写了一段程序,
Public Function closeCurPt(ByVal ptOpenPit As Variant, _
ByRef segOpenPit As Variant) As Variant
                       Dim countArr As Integer
                       countArr = ptOpenPit.Count - 1
                       Dim ptArr(countArr) As Double
 。。。。。。。
编译错误:要求常数表达式。(ptArr数组)
在定义ptArr数组的时候,countArr 应该已经有值了,为什么不行呢?
将Dim ptArr(countArr) As Double 换成Dim ptArr(9) As Double 进行调试,
countArr的值是45。
帮看一下好吧,谢谢!

efan2000 发表于 2004-12-31 12:38:00

除非使用数字,否则定义不确定个数的数组,即动态数据,应该:
                       Dim ptArr() As Double
 ReDim ptArr(countArr)

szwbluesky 发表于 2004-12-31 13:23:00

点一下就帮我解决了大半天的问题,多谢!
页: [1]
查看完整版本: 为什么要求常数表达式??