va_start
| Definiert im Header <cstdarg>
|
||
void va_start( std::va_list ap, parmN );
|
(bis C++26) | |
void va_start( std::va_list ap, ... );
|
(seit C++26) | |
Das va_start-Makro ermöglicht den Zugriff auf die variadischen Argumentedie dem benannten Argument parmN(bis C++26) folgen.
va_start muss mit einer Instanz eines gültigen std::va_list-Objekts ap aufgerufen werden, bevor Aufrufe von va_arg erfolgen.
Wenn |
(bis C++26) | ||
|
Wenn mehr als ein Argument für |
(seit C++26) |
Parameter
| ap | - | ein Objekt vom Typ va_list |
| parm_n | - | der benannte Parameter vor dem ersten variablen Parameter |
Erweiterter Wert
(keine)
Hinweise
va_start
wird benötigt, um
parm_n
mit überladenem
operator&
zu unterstützen.
Beispiel
Ausgabe:
150
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| CWG 273 | C++98 |
es war unklar, ob
va_start
verpflichtet ist,
parm_n s mit überladenem
operator&
zu unterstützen
|
erforderlich |
| LWG 2099 | C++98 |
das Verhalten war undefiniert, wenn
parm_n
mit einem Funktions-, Array- oder Referenztyp deklariert wurde |
das Verhalten ist undefiniert, wenn
parm_n vom Referenztyp ist |
Siehe auch
|
greift auf das nächste variadische Funktionsargument zu
(Funktionsmakro) |
|
|
beendet die Durchlaufung der variadischen Funktionsargumente
(Funktionsmakro) |
|
|
C-Dokumentation
für
va_start
|
|