W C++ o tym, czy funkcja zwraca wartość, decyduje jej typ zwrotny podany przed nazwą funkcji. Jeśli w definicji (nagłówku) występuje typ void, oznacza to, że funkcja nie zwraca żadnej wartości i nie można traktować jej wywołania jako wyrażenia dającego wynik (np. nie przypisuje się go do zmiennej).
W pokazanej definicji funkcji "zamien" widać także listę parametrów: są dokładnie dwa parametry typu float. Dodatkowo zapis & przy parametrach oznacza, że są one przekazywane przez referencję, czyli funkcja operuje na oryginalnych zmiennych podanych jako argumenty, a nie na ich kopiach. To jest typowe dla funkcji realizujących zamianę wartości (swap), bo celem jest zmiana wartości zmiennych wywołujących.
Dlatego:
- Stwierdzenie "Funkcja zwraca wartość." jest nieprawdziwe, bo void wyklucza zwracanie wartości.
- Stwierdzenie "Funkcja nie zwraca wartości." jest prawdziwe i wynika wprost z typu void.
- Stwierdzenie "Funkcja posiada dwa parametry." jest prawdziwe, bo w nawiasach widnieją dwa parametry (x i y).
- Stwierdzenie "Funkcja odwołuje się do parametrów przez referencję." jest prawdziwe, ponieważ zapis & w deklaracji parametru oznacza referencję.
Wskazówka egzaminacyjna: czytając nagłówek funkcji, najpierw sprawdź typ zwrotny (np. void/int), potem policz parametry, a na końcu zwróć uwagę na drobne znaki składni, takie jak &, które zmieniają sposób przekazywania danych.