Because that's the way it works: when you pass a function as an argument, it is converted to a function pointer and that is passed as the argument.