1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
[CCode (has_type_id = false)]
struct Bar {
public int i;
public int j;
}
void foo (int first_arg, ...) {
var args = va_list ();
Bar bar = args.arg ();
assert (first_arg == 42);
assert (bar.i == 23);
assert (bar.j == 4711);
}
void faz (int first_arg, ...) {
var args = va_list ();
Bar* bar = args.arg ();
assert (first_arg == 23);
assert (bar.i == 23);
assert (bar.j == 4711);
}
void fab (int first_arg, ...) {
var args = va_list ();
Bar? bar = args.arg ();
assert (first_arg == 65);
assert (bar.i == 23);
assert (bar.j == 4711);
}
void main () {
Bar bar = {23, 4711};
foo (42, bar);
faz (23, bar);
fab (65, bar);
}
|