C++ | Function Overloading and Default Arguments | Question 2

Output?

filter_none

edit
close

play_arrow

link
brightness_4
code

#include<iostream>
using namespace std;
  
int fun(int x = 0, int y = 0, int z)
return (x + y + z); }
  
int main()
{
   cout << fun(10);
   return 0;
}

chevron_right


(A) 10
(B) 0
(C) 20
(D) Compiler Error


Answer: (D)

Explanation: All default arguments must be the rightmost arguments. The following program works fine and produces 10 as output.

#include <iostream>
using namespace std;

int fun(int x, int y = 0, int z = 0)
{  return (x + y + z); }

int main()
{
   cout << fun(10);
   return 0;
}


Quiz of this Question



My Personal Notes arrow_drop_up