Использование библиотеки NuGet Accord.net
Автозаполнение показывает параметр:
radius:=
Но когда я заканчиваю строчку, я выгляжу так:
Dim result = tree.Nearest(tn.Position, radius:=3.1)
Я получаю сообщение об ошибке:
BC30272 «радиус» не является параметром «Ближайшая функция открытых перегрузок (позиция как Double (), соседи как целое число) как KDTreeNodeCollection (Of KDTreeNode (Of KDTreeNode (Of Double)))».
Я никогда не сталкивался с этим раньше. В чем может быть проблема?
Редактировать: Чтобы ответить на вопросы в комментариях:
@GSerg спрашивает:
Он должен быть двойным, а не десятичным. Dim result = фактический код, который вы
запущены, или у вас фактически есть тип, объявленный для результата? Есть ли
это вызовет корректную перегрузку, если вы не предоставите имя параметра?
двойное и десятичное:
Dim result As KDTreeNodeCollection(Of KDTreeNode(Of Integer)) = tree.Nearest(query, Convert.ToDouble(2.00003))
Не работает также следующее:
Dim query = New Double() {6, 6, 6}
Dim radius As Double = 2.000014
Dim result = tree.Nearest(query, radius)
Я получаю функцию, которая использует int32 в качестве второго параметра, поэтому в этом случае результаты ограничиваются 2. Должен вернуть 20.
По поводу тусклого результата = ... Я пробовал оба:
Dim result = tree.Nearest(query, radius)
'and
Dim result As KDTreeNodeCollection(Of KDTreeNode(Of Integer)) = tree.Nearest(query, radius)
Ни то, ни другое не работает.