We\'re not allowed to define a functor struct inside a function because one is not allowed to use function declared structs in the instantiation of function templates.
Yes. Local classes can't be used as template parameters in C++03