3.12. Functions with Multiple Parameters

The syntax for declaring and invoking functions with multiple parameters is a common source of errors. First, remember that you have to declare the type of every parameter. For example

void print_time (int hour, int minute) {
  std::cout << hour << ':' << minute;
}

It might be tempting to write (int hour, minute), but that format is only legal for variable declarations, not for parameters.

Another common source of confusion is that you do not have to declare the types of arguments when calling a function. The following is wrong!

int hour = 11;
int minute = 59;
print_time (int hour, int minute);   // WRONG!

Caution

It is unnecessary and illegal to include the type when you pass variables as arguments! The type is only needed for declaration.

In this case, the compiler is getting mixed information and won’t know what to do. What is meant by print_time(int hour, int minute);

Because the compiler can’t tell what is intended, it stops and reports an error instead.

The correct syntax is print_time (hour, minute);.

This program shows how the dollar_amount and cent_amount arguments are passed into the print_price function.


More to Explore

You have attempted of activities on this page