Wskaż zdanie, które nie jest prawdziwe dla przedstawionej definicji funkcji w języku C++.
int suma(int a, int b) { return a + b; }
Nieprawdziwe jest zdanie, że funkcja nie zwraca żadnej wartości. Przed nazwą suma stoi typ int, a w ciele jest instrukcja return a + b; - funkcja oddaje więc wynik dodawania, który można zapisać w zmiennej, np. int w = suma(2, 3);. Brak wartości zwracanej oznacza się w C++ słowem void. Parametry a i b są przekazywane przez wartość: funkcja dostaje ich kopie, więc zmiana parametru wewnątrz funkcji nie zmieniłaby zmiennych, z którymi ją wywołano. Przekazanie przez referencję wymagałoby znaku & przy typie, np. int &a. Do zapamiętania: typ przed nazwą funkcji mówi, co ona zwraca, a nawiasy - co przyjmuje.
Pytanie dotyczy zdania fałszywego, więc trzeba sprawdzić każde twierdzenie z kodem. Typ int przed nazwą funkcji potwierdza, że zwraca ona liczbę całkowitą - to zdanie jest prawdziwe. W nawiasie stoją dwa parametry, int a i int b, więc funkcja ma dwa argumenty - też prawda. Przy parametrach nie ma znaku & ani gwiazdki, a zatem są przekazywane przez wartość, czyli funkcja pracuje na kopiach - i to się zgadza. Jedyne zdanie sprzeczne z kodem mówi, że funkcja nie zwraca wartości. Tak byłoby przy typie void i braku instrukcji return z wyrażeniem. Tu return a + b oddaje sumę do miejsca wywołania. Przy pytaniach o zdanie nieprawdziwe warto czytać kod element po elemencie: typ zwracany, nazwę, parametry i treść. Zwracaną wartość można wypisać od razu, np. w instrukcji cout.