Member functions have a this pointer as the first argument. In your example, func() will have the address of the class a object used to call the function. This argument is supplied by the compiler.
Therefore, you can't use member functions without an object.
Therefore, you can't take the address of a member function by itself.
Therefore, you can't use a member function with a function pointer.