Skip to main content
Contents
Dark Mode Prev Up Next Scratch ActiveCode Profile
\(
\newcommand{\lt}{<}
\newcommand{\gt}{>}
\newcommand{\amp}{&}
\definecolor{fillinmathshade}{gray}{0.9}
\newcommand{\fillinmath}[1]{\mathchoice{\colorbox{fillinmathshade}{$\displaystyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\textstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptscriptstyle\phantom{\,#1\,}$}}}
\)
Section 3.10 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 printTime(int hour, int minute) {
cout << hour;
cout << ":";
cout << 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 you call a function. The following is wrong!
int hour = 11;
int minute = 59;
printTime(int hour, int minute); // WRONG!
In this case, the compiler can tell the type of hour and minute by looking at their declarations.
The correct syntax is printTime(hour, minute).
Listing 3.10.1. This program shows how the dollar_amount and cent_amount arguments are passed into the printPrice function.
Checkpoint 3.10.1 .
Which of the following is a correct function header (first line of a function definition)?
Checkpoint 3.10.2 .
Which of the following is a legal function call of the function below?
void multiplyTwo(int num, string name) {
int total = num * 2;
cout << "Hi " << name << ", your total is " << total << "!" << endl;
}
int main() {
int x = 2;
string phil = "Phil";
}
multiplyTwo(int x, string phil);
Data types are not needed when calling a function.
Correct!
void multiplyTwo(int num, string name) {
This is the function definition.
void multiplyTwo(int x, string phil);
Data types are not needed when calling a function.
You have attempted
of
activities on this page.