|
|
1.1 ! root 1: ! 2: ! 3: va_start() Variable Arguments va_start() ! 4: ! 5: ! 6: ! 7: ! 8: Point to beginning of argument list ! 9: ! 10: #iinncclluuddee <ssttddaarrggss.hh> ! 11: vvooiidd vvaa_ssttaarrtt(_l_i_s_t_p_t_r, _r_i_g_h_t_p_a_r_m) ! 12: vvaa_lliisstt _l_i_s_t_p_t_r, _t_y_p_e _r_i_g_h_t_p_a_r_m; ! 13: ! 14: vvaa_ssttaarrtt is a macro that points to the beginning of a list of ! 15: arguments. It can be used with functions that take a variable ! 16: number of arguments, such as pprriinnttff or ssccaannff, to help implement ! 17: them portably. It is always used with vvaa_aarrgg and vvaa_eenndd from ! 18: within a function that takes a variable number of arguments. ! 19: ! 20: _l_i_s_t_p_t_r is of type vvaa_lliisstt, which is a type defined in the header ! 21: ssttddaarrgg.hh. ! 22: ! 23: _r_i_g_h_t_p_a_r_m is the rightmost parameter defined in the function's ! 24: parameter list. Its type is set by the function that is using ! 25: vvaa_ssttaarrtt. Undefined behavior results if any of the following ! 26: conditions apply to rriigghhttppaarrmm: if it has storage class rreeggiisstteerr; ! 27: if it has a function type or an array type; or if its type is not ! 28: compatible with the type that results from the default argument ! 29: promotions. ! 30: ! 31: ***** Example ***** ! 32: ! 33: For an example of this macro, see the entry for vvaarriiaabbllee ! 34: aarrgguummeennttss. ! 35: ! 36: ***** See Also ***** ! 37: ! 38: vvaarriiaabbllee aarrgguummeennttss ! 39: ! 40: ***** Notes ***** ! 41: ! 42: The ANSI Standard demands that vvaa_ssttaarrtt be implemented only as a ! 43: macro. If the macro definition of vvaa_ssttaarrtt is suppressed within ! 44: a program, the behavior is undefined. ! 45: ! 46: ! 47: ! 48: ! 49: ! 50: ! 51: ! 52: ! 53: ! 54: ! 55: ! 56: ! 57: ! 58: ! 59: ! 60: ! 61: ! 62: ! 63: ! 64: COHERENT Lexicon Page 1 ! 65: ! 66:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.