A function prototype can always be omitted when: A function is defined before it is first invoked. A function does not return a value. A function is invoked before it is first defined. A function takes no arguments.