va_start
| Défini dans l'en-tête <cstdarg>
|
||
void va_start( std::va_list ap, parmN );
|
(jusqu'à C++26) | |
void va_start( std::va_list ap, ... );
|
(depuis C++26) | |
La macro va_start permet d'accéder aux arguments variablessuivant l'argument nommé parmN(jusqu'à C++26).
va_start doit être invoquée avec une instance d'un objet std::va_list valide ap avant tout appel à va_arg.
Si |
(jusqu'à C++26) | ||
|
Si plus d'un argument est présent pour |
(depuis C++26) |
Paramètres
| ap | - | un objet du type va_list |
| parm_n | - | le paramètre nommé précédant le premier paramètre variable |
Valeur développée
(aucun)
Notes
va_start
est requis pour prendre en charge
parm_n
avec l'opérateur
operator&
surchargé.
Exemple
Sortie :
150
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Applicable à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| CWG 273 | C++98 |
il n'était pas clair si
va_start
devait
supporter les parm_n avec
operator&
surchargé
|
requis |
| LWG 2099 | C++98 |
le comportement était indéfini si
parm_n
était
déclaré avec un type fonction, tableau ou référence |
le comportement est indéfini si
parm_n est de type référence |
Voir aussi
|
accède à l'argument suivant de la fonction variadique
(macro de fonction) |
|
|
termine le parcours des arguments de la fonction variadique
(macro de fonction) |
|
|
Documentation C
pour
va_start
|
|