Ошибка в функции Excel/VB: "Требуется постоянное выражение"
Я новичок в VB, и мне сложно делать что-то, что должно быть очень просто.
Я пытаюсь сделать массив из n + 1 длины, и я продолжаю получать "постоянное выражение" при запуске следующего кода
Function binomial(n As Integer, p As Double)
Dim probabilities(0 To n) As Double
End Function
Я понимаю, что аргументы, используемые для сборки массива, должны быть константами, но я могу создать его из аргумента функции?
Заранее благодарю
Ответы
Ответ 1
Вы не можете использовать DIM с переменным размером. ReDim it вместо
Например
Function binomial(n As Integer, p As Double)
Dim probabilities() As Double
ReDim probabilities(0 To n)
MsgBox LBound(probabilities)
MsgBox UBound(probabilities)
End Function
Sub test()
Call binomial(3, 2)
End Sub
Запустите подпрограмму