template int func (void); template struct Foo { static const unsigned int a = sizeof (T); //enum { b = a }; enum { c = sizeof (func < (a == 0) > ()) }; }; Foo x;