Byref (Параметры)
 
Спецификатор декларации для явной передачи параметра с помощью ссылки

Синтаксис

ByRef param As datatype

Использование

[ Declare ] { Sub | Function } proc_name ( ByRef param As datatype )

Описание

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

В диалектах -lang qb и -lang fblite, ByRef является конвенцией передачи параметра по умолчанию, если не используется Option ByVal.

Противоположно ByVal.

Пример

Dim MyVar As Integer

Sub ChangeVar(ByRef AVar As Integer)
    AVar = AVar + 1
End Sub

MyVar = 1
Print "MyVar: "; MyVar 'вывод = 1
ChangeVar MyVar
Print "MyVar: "; MyVar 'вывод = 2
Sleep
End


Различия диалектов

  • В диалекте -lang fb, ByVal является конвенцией передачи параметра по умолчанию для всех встроенных типов, за исключением String и определяемых пользователем Type которые передаются по умолчанию через ByRef.
  • В диалектах -lang qb и -lang fblite, ByRef является конвенцией передачи параметра по умолчанию.

Отличия от QB

  • Новое в FreeBASIC

См. также