|
|
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.