Wpis z mikrobloga

Stworzyłem tablicę std::vector składającą się ze structów. Następnie napisałem funkcję, która przyjmuje za argument właśnie tę tablicę i ma za zadanie przypisywać zmiennym w structach wpisane przez użytkownika wartości (Chodzi o to, żeby gracz mógł określić pozycję na mapie za pomocą parametrów x i y). Problem jest taki, że w czasie wykonywania funkcji zmienne owszem zachowują nadaną im wartość, lecz gdy funkcja się zakończy, wartość się resetuje do 0. Załączam kod, wiem że problemem jest tu fakt, że do funkcji przenoszona kopia tablicy, a nie ona sama. Jak sprawić, żeby to zmienne w rzeczywistej tablicy zmieniały wartość?
#naukaprogramowania #programowanie #cpp
  • 4
@Quemasterekt: Tak najkrócej rzecz ujmując: zamiast przekazywać wektor przez wartość, przekazuj przez referencję, czyli niech funkcja setPositions przyjmuje argument typu vector&. O resztę zadba kompilator.