Ошибка в функции Excel / VB: «Требуется постоянное выражение» - PullRequest
26 голосов
/ 03 марта 2011

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

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

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

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

СпасибоВы заранее

1 Ответ

54 голосов
/ 03 марта 2011

Вы не можете DIM против переменного размера.Вместо этого удалите его

Например

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

Запустите подпункт "test"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...