1 struct Base { 2 int x; 3 }; 4 5 template <typename T> 6 struct A { 7 static const int N = sizeof(static_cast<Base*>(T())); 8 int a[N]; 9 }; 10 11 struct Derived : Base { 12 A<Derived*> a; 13 }; 14