1 2 3 4 5 6 7 8 9 10 11 12 13 14
// Build don't link: struct S1 { template <class T> struct S2; template <class T> struct S2 { enum E { a }; }; }; int i = (int) S1::S2<double>::a;