I would change the prototype and the definition to be:
The item in the declaration list:Code:void fnMenu(void)
just defines the return type but not the parameters. This was used in K&R C. I am not sure what the standard says about whether this is a "prototype" or not.Code:void fnMenu();