VB函数错误消息



所以我想创建一个函数来计算一个问题的解决方案的"成本"。

我创建了一个包含整数值的一维数组Sum(m)。这在另一个子过程中被引用。

Function Cost(sum As Integer, a As Integer) As Long
Dim total As Long
'Calculate cost
For m = 1 To 2 * n + 2
    total = total + (sum(m) - a) ^ 2
Next m
Cost = total
End Function

我不太确定我应该在

行括号部分使用什么
Function Cost(sum As Integer, a As Integer) As Long

当我尝试在子过程中调用函数时,我得到错误消息- 编译错误:预期数组。这发生在

SolCost = Cost(sum, UBound(x))

我真的很困惑为什么会发生这个错误。这可能是因为我严重缺乏使用VB的经验。希望你们能帮帮我。

如果你需要更多的信息,请不要犹豫,尽管问。如有任何帮助,不胜感激。

您不能像那样UBound多维数组。必须对数组的一个特定维度进行UBound。所以如果X(i,j)是你的数组,你必须用UBound(X,1)来表示第一个维度,或者用UBound(X,2)来表示第二个维度。这可以扩展到任何维度。看看w3schools,他们的文章涵盖了多维数组。

相关内容

  • 没有找到相关文章

最新更新