Почему не работает UBound?
Участников: 2
Страница 1 из 1
Почему не работает UBound?
Подскажите, как в данном примере, правильно работать с указателем на массив.
1. Получить верхнюю границу массива, передавая в функцию UBound() указатель на массив.
2. Передать указатель на массив в функцию и там обработать его, на пример функцией UBound()
Dim As Integer Arr(2)={1,2,3}
Dim As Integer Ptr pArr=@Arr(0)
? UBound(peek(pArr)) ' НЕ РАБОТАЕТ
Sub Fn(i As Integer Ptr)
? UBound(*i) 'НЕ РАБОТАЕТ
End Sub
Fn(pArr)
Sleep
1. Получить верхнюю границу массива, передавая в функцию UBound() указатель на массив.
2. Передать указатель на массив в функцию и там обработать его, на пример функцией UBound()
Dim As Integer Arr(2)={1,2,3}
Dim As Integer Ptr pArr=@Arr(0)
? UBound(peek(pArr)) ' НЕ РАБОТАЕТ
Sub Fn(i As Integer Ptr)
? UBound(*i) 'НЕ РАБОТАЕТ
End Sub
Fn(pArr)
Sleep
silentspirit- Сообщения : 2
Дата регистрации : 2016-01-24
Re: Почему не работает UBound?
Сам спросил, сам ответил
Dim As Integer Arr(2)={1,2,3}
Dim As Integer Ptr pArr=@Arr(0)
Sub Fn(pI As Integer Ptr, Count As Integer)
For i As Integer=0 To Count
? *(pI+i)
Next
End Sub
Fn(pArr, UBound(Arr))
Sleep
Dim As Integer Arr(2)={1,2,3}
Dim As Integer Ptr pArr=@Arr(0)
Sub Fn(pI As Integer Ptr, Count As Integer)
For i As Integer=0 To Count
? *(pI+i)
Next
End Sub
Fn(pArr, UBound(Arr))
Sleep
silentspirit- Сообщения : 2
Дата регистрации : 2016-01-24
Re: Почему не работает UBound?
Вообще UBound должна работать только с массивами, а не указателями на первый элемент массива.
Массив во фрибейсике — это объект, хранящий нижнюю и верхнюю границы.
Массив во фрибейсике — это объект, хранящий нижнюю и верхнюю границы.
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|