To do what?
It’s hard to guess what’s the point in having a container which stores objects which store a pointer to a template function.
I think usually the more a class is general, the better. One of the strongest point of OOP is the code is easy to reuse. When possible, a class should be conceived as if it could become part of a separate library. That’s possible if there are very few ‘connections’ between the class and the rest of the code, so that everything which refers to the class is inside its header and source file.
If you want your class to depend from functions that are outside it, you make it less general and harder to reuse.
That’s quite common, anyway, but it’s usually achieved by friendship.
So, if yours it’s an academic question, my impression is you could try to substitute overloaded friend functions for pointer to functions or write your functions where they are needed by a lambda.
Otherwise, if you are trying to develop a ‘real’ code, I’m afraid we need a “Minimal, Complete, and Verifiable example” of your problem
https://stackoverflow.com/help/mcve
along with a description of what your program should do.