So simply I am new to Default Arguments and am having a bit trouble onto why this particular program is not working the way I intended to. I did it two ways, one way worked, while the other did not. For the first set of code, this program does not work, but I don't know why. I would assume the first set of number (769) would go to the variable "empNum" then the second set of number (15.75) would go to payRate to my knowledge, however it's not working for whatever reason.
When I was taught prototypes in my intro class I was taught that defining parameter in the parameter list would not work, which was evident in your first case. But it worked in your second case so someone with more knowledge about function definitions before and after main can help clarify why it works. I have never seen a parameter defined in the parameter list before, so maybe it's frowned upon or I don't have a lot of experience with reading other people's code.
So the reason why the first case didn't work, it's because you defined the function with 3 parameters, but only gave it 2 (769, 15.75). One way to fix that is taking out double hours completely since you're not using it to compute anything, or defining it inside main() since you already know hours = 60 and take out the initialization double hours = 60 in your parameter list.