Variable Argumentlisten
Funktionsdeklarationen, in denen der letzte Member der Argument-Deklaration Liste die Auslassungspunkte (...) ist, können eine variable Anzahl von Argumenten akzeptieren.In diesen Fällen stellt C++ Typüberprüfung nur für die explizit deklarierten Argumente bereit.Sie können die Variable Argumentlisten verwenden, wenn Sie eine Funktion so häufig ausführen müssen, dass auch die Anzahl und Typen von Argumenten unterscheiden können.Die printf-Funktionsreihe ist ein Beispiel für Funktionen, die variable Argumentlisten verwenden.
Um den Zugriff auf denen nach Argumente, die deklariert sind, verwenden Sie die Makros, die in der Standardeinstellung includedatei STDARG.H enthalten sind, wie in Funktionen mit variablen Argumentlistenbeschrieben.
Microsoft-spezifisch
Microsoft C++ lässt die als Argument angegeben werden, Ellipsen, wenn die Auslassungspunkte das letzte Argument sind und die Auslassungspunkte von einem Komma stehen.Daher ist die Deklaration int Func( int i, ... );int Func( int i ... ); gültig, jedoch nicht.
Microsoft ENDES bestimmten
Deklaration einer Funktion, die eine variable Anzahl von Argumenten akzeptiert, erfordert mindestens ein Platzhalterargument, selbst wenn sie nicht verwendet wird.Wenn dieses Platzhalterargument nicht angegeben ist, gibt es keine Möglichkeit, die übrigen Argumente zugreifen.
Wenn Argumente des Typs char als variable Argumente übergeben werden, werden sie konvertiert, um inteinzugeben.Auch wenn Argumente vom Typ float als variable Argumente übergeben werden, werden sie konvertiert, um doubleeinzugeben.Argumente anderer Typen sind je nach den üblichen von ganzzahligen und Erweiterungen.Weitere Informationen finden Sie unter Ganzzahlige Höherstufungen .