template <bool C> int func (void);

template <class T> struct Foo
{
  static const unsigned int a = sizeof (T);

  //enum { b = a };

  enum
  {
    c = sizeof (func < (a == 0) > ())
  };
};

Foo <int> x;