Wpadłem na pomysł napisania programu który będzie wysyłał strukturę do funkcji, modyfikował ją, a potem zwracał. Program udaje się skompilować natomiast zwraca jakiś adres, a w moim zamyśle miał wypisywać x i y punktu1 powiększone o 1. Zastanawiam się czy to jest poprawne od strony logcznej. Przyjąłem że lokalizacja jest typem zmiennej jak np int. Tak więc funkcja zwraca lokalizacja punkt1, czyli jak by deklaruje od nowa jej wartości powiększone o 1. A następnie są one wypisywane. Lecz jedyne co jest wypisywane to jakiś adres pamięci.
using namespace std;
struct lokalizacja {
int x;
int y;
};
lokalizacja wypisanie_punktu(lokalizacja punkt1)
{
punkt1.x = punkt1.x+1;
punkt1.y = punkt1.y+1;
return punkt1;
}
int main(){
lokalizacja punkt1;
punkt1.x = 5;
punkt1.y = 6;
wypisanie_punktu(punkt1);
cout<<punkt1.x<<cout<<punkt1.y;
}