1 struct M; 2 3 struct S { 4 int x; 5 M * m; 6 }; 7 8 struct M { 9 int a; 10 S * s; 11 }; 12 13 struct T { 14 S s; 15 int a; 16 }; 17 18 struct U { 19 struct { 20 S s; 21 }; 22 int r; 23 }; 24 reg1(S *,T *,T *)25 void reg1(S*, T*, T*) { } reg2(U *)26 void reg2(U*) { } 27