Вопрос: function call on left-hand side of assignment must
Добавлено: 24.05.07 11:12
Автор вопроса: -АлександР- | Web-сайт:sham.clan.su
function call on left-hand side of assignment must be return Variant or Object
так выглдит полный текст ошибки
...
'àíàëîã submatrix (A, ir, jr, ic, jc) â MathCAD
Public Function SubMatrix _
( _
A() As Single, _
ir As Integer, _
jr As Integer, _
ic As Integer, _
jc As Integer _
) As Single()
ReDim SubMatrix(jr - ir, jc - ic)
Dim i As Integer, j As Integer
For i = 1 To jr - ir
For j = 1 To jr - ir
SubMatrix(i, j) = A(ir + i, jr + j)
Next j
Next i
End Function
так выглядит функция, ругается на строчке SubMatrix(i, j) = A(ir + i, jr + j)
вопрос: чео ему не нравится-то?
вроде ж все функции слева от знака присвоения присваиваются..
Скорее всего, ему не нравится, что у тебя массив и функция названы одинаково. Он думает, что SubMatrix(i, j) - вызов функции и выдает, что вызов функции function call с левой стороны выражения присваивания on left-hand side of assignment должен must чего-то там.
Sharp, у него не функция и массив названы одинаково. У него функция должна массив возвращать.
-Александр-, а не проще объявить массив как глобальный и функцию переделать в процедуру (которая ничего не возвращает)?
Скорее всего, ему не нравится, что у тебя массив и функция названы одинаково. Он думает, что SubMatrix(i, j) - вызов функции и выдает, что вызов функции function call с левой стороны выражения присваивания on left-hand side of assignment должен must чего-то там
здесь это функция
но примерно ты был близок к истине, я прищел к выводу, что компилятор решил, что я обращаюсь у функции внутри нее самой, нк и выдал ошибку, или типа того...