Open In App

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

Output?




#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;
}

(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

Article Tags :