Šis ženklas įgalina kintamojo reikšmės keliavimą ne tik iš pagrindinės main funkcijos į mūsų aprašytą šiuo atveju didesnis, bet ir atgal, t.y. toje funkcijoje nustatytos reikšmės grąžinimą pagrindinei funkcijai.
Nes tu negali lyginti a su bet kokia reikšme. Tu pirmiausiai turi priskirti šią maksimalią reikšmę kaip lygią kažkuriam iš lyginamų skaičių, o tada jau antrąjį skaičių lyginti su likusiąja. Tarkim, jei turėtum skaičius a=-2, b=-3, o tu nurodei max=0, tai tikrinant pirmąjį if tau liks max=0, o antrąjį taip pat max=0.
Aplamai čia yra daug būdų užrašyti tą lyginimą, galėjo būti ir taip:void didesnis (float a, float b, float &max) { if (b>a) max = b; else max=a; }Šitas gal net priimtinesnis.
Aš tikiuosi tavęs taip pat nepainioja void funkcijų parametrų pavadinimai. Jie gali visiškai skirtis nuo tų, kurie yra naudojami main funkcijoje. Svarbu kokių kintamųjų reikšmes tu perduodi main funkcijoje. Galėjau rašyti ir taip: void didesnis (float pirmas, float antras, float &didz) { if (antras>pirmas) didz = antras; else didz=pirmas; }