Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Can you help explaining these C++ practice problems I am doing? Especially #5. 1

ID: 3811184 • Letter: C

Question

Can you help explaining these C++ practice problems I am doing? Especially #5.

1- Given the function prototype void fun1(int &, double); is the following function call valid or invalid? Why or why not?

double x, y;

// initialization code of x and y //

fun1(x, y);

2- Given the function prototype void fun1(int &, double); is the following function call valid or invalid? Why or why not?

double x, y;

// initialization code of x and y //

fun1(static_cast<int>(x), 3);

3- Given the function prototype void fun1(int &, double); is the following function call valid or invalid? Why or why not?

int x, y;

// initialization code of x and y //

fun1(x, y);

4- Given the function prototype void fun1(int &, double); is the following function call valid or invalid? Why or why not?

int x, y;

double z;

// initialization code of x, y and z //

fun1(x + y, z);

5- Given the function prototype double fun2(int , double); is the following function call valid or invalid? Why or why not?

double x, y;

// initialization code of x and y //

fun2(x, fun2(x, y));

Explanation / Answer


1- Given the function prototype void fun1(int &, double); is the following function call valid or invalid? Why or why not?
double x, y;

// initialization code of x and y //
fun1(x, y);

Yes this is valid call
This function takes two parameters: integer by reference, and second is double
it returns nothing

2- Given the function prototype void fun1(int &, double); is the following function call valid or invalid? Why or why not?
double x, y;
// initialization code of x and y //

fun1(static_cast<int>(x), 3);

THis is not valid. fun1(static_cast<int>(x), 3) => we are passing int value. It takes reference variable

3- Given the function prototype void fun1(int &, double); is the following function call valid or invalid? Why or why not?
int x, y;
// initialization code of x and y //
fun1(x, y);

This is valid. We are passing integer reference and an int value

4- Given the function prototype void fun1(int &, double); is the following function call valid or invalid? Why or why not?
int x, y;
double z;
// initialization code of x, y and z //
fun1(x + y, z);

Valid. we are passing int and double

5- Given the function prototype double fun2(int , double); is the following function call valid or invalid? Why or why not?
double x, y;
// initialization code of x and y //
fun2(x, fun2(x, y));

Not Valid
fun2(x, y) => this takes two parameters: one int and onr double, but we are passing both double