Brief
Trying to get this code to compile; It fails when I try to call the instance method on the object, for some reason it takes the function pointer as literal rather than the parameter.
End Goal
To be able to pass any instanced class method (with no arguments or return type), to this function, inside the function do some calculations/timing while executing the method. I'm just fiddling with making a rudimentary performance profiler I can quickly bash with, I know there are tools and libs, I would still like to know the answer though).
You do not have a function pointer. You have a pointer-to-member-function, which is an entirely different thing with an entirely different syntax.
Instead, you should get rid of that macro and just use std::bind to pre-bundle the this pointer - then your function can act on any kind of function and not just class member functions.