Freigeben über


Variablenargumentlisten

Funktionsdeklarationen, in denen der letzte Member von argument-declaration-list das Auslassungszeichen (...) ist, können eine variable Anzahl von Argumenten akzeptieren. In diesen Fällen stellt C++ die Typüberprüfung nur für die explizit deklarierten Argumente bereit. Sie können Variablenargumentlisten verwenden, wenn Sie eine Funktion so allgemein gestalten müssen, dass sogar die Anzahl und Typen von Argumenten variieren können. Die printf-Funktionsreihe ist ein Beispiel für Funktionen, die variable Argumentlisten verwenden.

Um auf Argumente nach den deklarierten Argumenten zuzugreifen, verwenden Sie die Makros, die in der Standardincludedatei STDARG.H enthalten sind, wie in Funktionen mit Variablenargumentlisten beschrieben.

Microsoft-spezifisch

Mit Microsoft C++ kann das Auslassungszeichen als Argument angegeben werden, wenn das Auslassungszeichen das letzte Argument ist und ein Komma als Präfix hat. Daher ist die Deklaration int Func( int i, ... ); gültig, int Func( int i ... ); jedoch nicht.

END Microsoft-spezifisch

Die Deklaration einer Funktion, die eine variable Anzahl von Argumenten akzeptiert, erfordert selbst dann mindestens ein Platzhalterargument, wenn sie nicht verwendet wird. Wenn dieses Platzhalterargument nicht angegeben ist, gibt es keine Möglichkeit, auf die übrigen Argumente zugreifen.

Wenn Argumente des Typs char als Variablenargumente übergeben werden, werden sie in den Typ int konvertiert. Wenn Argumente vom Typ float als variable Argumente übergeben werden, werden sie dementsprechend in den Typ double konvertiert. Argumente anderer Typen unterliegen den üblichen Ganzzahl- und Gleitkomma-Erweiterungen. Weitere Informationen erhalten Sie unter Ganzzahlige Erweiterungen.

Siehe auch

Referenz

Funktionsdeklarationen