

va_start()              Variable Arguments             va_start()




Point to beginning of argument list

#iinncclluuddee <ssttddaarrggss.hh>
vvooiidd vvaa_ssttaarrtt(_l_i_s_t_p_t_r, _r_i_g_h_t_p_a_r_m)
vvaa_lliisstt _l_i_s_t_p_t_r, _t_y_p_e _r_i_g_h_t_p_a_r_m;

vvaa_ssttaarrtt is  a macro that  points to the  beginning of a  list of
arguments.  It  can be used  with functions that  take a variable
number of  arguments, such as pprriinnttff or  ssccaannff, to help implement
them portably.   It is  always used  with vvaa_aarrgg and  vvaa_eenndd from
within a function that takes a variable number of arguments.

_l_i_s_t_p_t_r is of type vvaa_lliisstt, which is a type defined in the header
ssttddaarrgg.hh.

_r_i_g_h_t_p_a_r_m is  the rightmost  parameter defined in  the function's
parameter list.   Its type is  set by the function  that is using
vvaa_ssttaarrtt.  Undefined behavior  results  if any  of the  following
conditions apply to  rriigghhttppaarrmm: if it has storage class rreeggiisstteerr;
if it has a function type or an array type; or if its type is not
compatible with  the type that results  from the default argument
promotions.

***** Example *****

For  an  example  of  this  macro,  see the  entry  for  vvaarriiaabbllee
aarrgguummeennttss.

***** See Also *****

vvaarriiaabbllee aarrgguummeennttss

***** Notes *****

The ANSI Standard demands  that vvaa_ssttaarrtt be implemented only as a
macro.  If the  macro definition of vvaa_ssttaarrtt is suppressed within
a program, the behavior is undefined.



















COHERENT Lexicon                                           Page 1


