1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
struct x { int foo () {} }; template <class T> struct vector { T& bar () {} }; template <class T> struct y { typedef struct { x t; } s; vector<s> array; int foo () { return array.bar().t.foo(); } }; int i = y<x>().foo ();