Подтвердить что ты не робот

Ошибка в функции Excel/VB: "Требуется постоянное выражение"

Я новичок в VB, и мне сложно делать что-то, что должно быть очень просто.

Я пытаюсь сделать массив из n + 1 длины, и я продолжаю получать "постоянное выражение" при запуске следующего кода

Function binomial(n As Integer, p As Double)
Dim probabilities(0 To n) As Double
End Function

Я понимаю, что аргументы, используемые для сборки массива, должны быть константами, но я могу создать его из аргумента функции?

Заранее благодарю

4b9b3361

Ответ 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

Запустите подпрограмму