template<class Func>
class MyClass {
  public: Func func;
};

struct foo {
  int operator () (int i) { return 0; }
};

int main ()
{
  MyClass<foo> obj;
  int i = obj.func(3);
}
