#include<iostream>
using namespace std;
int &fun()
{
int x = 10;
return x;
}
int main()
{
fun() = 30;
cout << fun();
return 0;
}
|
(A) May cause runtime error
(B) May cause compiler error
(C) Always works fine.
(D) 0
Answer: (A)
Explanation: Since we return reference to a local variable, the memory location becomes invalid after function call is over. Hence it may result in segmentation fault runtime error.
Quiz of this Question