aboutsummaryrefslogtreecommitdiff
path: root/C/Named Arguments.wiki
blob: 7e673f2f440efd622b3f0a9713d50100a0d65c38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
https://www.reddit.com/r/C_Programming/comments/yjbe62/combining_default_named_and_positional_arguments/

{{{c
struct fooParam { int x, y; };
#define foo(...) foo((struct fooParam) {__VA_ARGS__ })
int (foo)(struct fooParam p) {
	return p.x + p.y;
}

int main() {
	printf("%d\n", foo(.y = 20, .x = 10));
}
}}}