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
typedef ptr {} define b { c!; a!; } define a { c!; a(*a a); } define c { c(*c c); } typedef d { b!; c(*d d) {} } main() { d d = d!{}; d.c(); }