Mam wrażenie, że się poprawnie domyślam na czym polega to zwracanie przez funkcję kilku wartości, ale cały czas nie jestem pewny czy rozumiem. Tutaj akurat chodzi o to, żę funkcja Factor zwraca trzy wartości:dwie w postaci parametrów będących wskaźnikami oraz tę trzecią Value. No dobra, ale właśnie tutaj czegoś nie łapię. Funkcja zwraca trzy wartości a w jej ciele jest tylko jeden "return"...???...
Tzn. rozumiem, że cała ta funkcja poprzez wartość Value przyjmuje (zwraca) 1 lub 0 i właśnie ta wartość może "gdzieś tam" zostać przypisana do "czegoś". Nie wiem natomiast jak sobie wyobrazić, że ta funkcja zwraca dwie wartości jako parametry. Tzn. widzę, że w klamrach po "else" istnieją owe dwa, ale nie rozumiem...
No jeżeli ta funkcja zwraca Value 1 lub 0, to jest to przecież pojedyncza wartość a jej parametry są sprawą zupełnie osobną. Dlaczego więc mam równać znaczenie wartości Value ze znaczeniem wartości tych parametrów oraz dlaczego autor książki uważa, że te parametry są także zwracanymi wartościami. Przecież nie zależnie od tych parametrów funkcja Factor i tak zwraca tylko 1 lub 0.
Jak widzicie...właśnie dlatego się w tym motam.
[code]
short Factor(int n, int *pSquared, int pCubed)
30: {
31: short Value = 0;
32: if (n > 20)
33: Value = 1;
34: else
35: {
36: pSquared = nn;
37: pCubed = nnn;
38: Value = 0;
39: }
40: return Value;
41: }
[/code]