Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - ... (Auslassung[Ellipsis])

Referenz-Navigation

 

Die drei Auslassungspunkte werden anstelle von Prozedur-Parametern benutzt, um eine variable Anzahl von Argumenten zu übergeben.


Prozeduren
Die Auslassung (drei Punkte "...") wird in Prozedur-Deklarationen und Definitionen benutzt, um eine variable Argumentenliste anzugeben. Das erste Argument muss immer angegeben werden, und die Prozedur muss mit der 'C calling convention' BefehlsreferenzeintragCDECL aufgerufen werden.

Beispiel:

Declare Function FOO cdecl (x As Integer, ...) As Integer

Der Zugriff auf die Parameter wird über BefehlsreferenzeintragCVA_START, BefehlsreferenzeintragCVA_COPY, BefehlsreferenzeintragCVA_ARG und BefehlsreferenzeintragCVA_END ermöglicht. Ebenfalls möglich, allerdings nicht für alle Plattformen, ist die Verwendung von BefehlsreferenzeintragVA_FIRST, BefehlsreferenzeintragVA_ARG und BefehlsreferenzeintragVA_NEXT.


Arrays
Bei der Deklaration von Arrays kann die Auslassung verwendet werden, um die Größe des Arrays durch die Initialisierung festzulegen.

Beispiel:

dim a(1 to ...) as integer = {1, 2, 3, 4}
print ubound(a)    ' Ausgabe: 4
sleep



Macros
In Makros wird die Auslassung verwendet, um Makros mit variabler Parameteranzahl zu erstellen.

Beispiel:

#include "crt.bi"
#define eprintf(Format, args...) fprintf(stderr, Format, args)
eprintf(!"Hello from printf: %i %s %i\n", 5, "test", 123)

#define car(a, b...) a
#define cdr(a, b...) b
PRINT "car (1, 2, 3, 4) = "; car(1, 2, 3, 4)
PRINT "cdr (1, 2, 3, 4) = "; cdr(1, 2, 3, 4)
SLEEP



Unterschiede zu QB: neu in FreeBASIC

Unterschiede zu früheren Versionen von FreeBASIC:

Siehe auch:
BefehlsreferenzeintragCDECL, BefehlsreferenzeintragCVA_START, BefehlsreferenzeintragCVA_COPY, BefehlsreferenzeintragCVA_ARG, BefehlsreferenzeintragCVA_END, BefehlsreferenzeintragVA_FIRST, BefehlsreferenzeintragVA_ARG, BefehlsreferenzeintragVA_NEXT, BefehlsreferenzeintragArrays, BefehlsreferenzeintragDEFINE (Meta), BefehlsreferenzeintragMACRO (Meta)


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 09.11.2007 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 18.08.2020 von Redakteurnemored gespeichert.
  Versionen Versionen