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