Chciałem zastosować jednoargumentowy operator "&" tuż za funkcją, aby działać na funkcji zwracanej wartości. Jednakże pojawia się błąd kompilacji (używam gcc z MinGW)przy użyciu operatora unarnego i operatora zwracającego wartość funkcji
test.c: In function 'main':
test.c:8:12: error: lvalue required as unary '&' operand
Zrobiłem kod aby moje pytanie łatwiej zrozumieć:
int function();
void function2(int *param);
main()
{
function2(&function1());
}
int function1()
{
return 10;
}
void function2(int *param)
{
return;
}
Ten kod tworzy sam błąd kompilacji .
Pytanie brzmi: Jak mogę korzystać z operatora "&" tylko od funkcji2 "()", bez żadnego innego kodu?
Nie można, dopóki 'funkcja1' zwraca' int'. – AnT