Przypisywanie wartości do zwracanej funkcji
#include<iostream>
using namespace std;
int &fun()
{
static int x = 10;
return x;
}
int main()
{
fun() = 30;
cout << fun();
return 0;
}
Funkcja fun () zwraca wartość przez referencję, ale w metodzie main () przypisuję funkcję int do działania. Idealnie kompilator powinien wyświetlać błąd taki jak wymagana wartość l, ale w powyższym przypadku program działa poprawnie. Dlaczego tak jest?