13. maj 2005 - 19:45Der er
5 kommentarer og 1 løsning
Bruge værdier fra andre funktioner, return?
Hvis jeg har en funktion, felt_funktion, der ved hjælp af en case sætning sætter variablen int felt_vaerdi = etellerandettal og jeg så gerne vil bruge felt_vaerdi i en anden funktion, så skal jeg vel afslutte med return felt_vaerdi; for det første.
Hvordan gør jeg så i funktionen der skal bruge værdien, noget i retning af en af nedenstående forslag:
1) void funktion_navn(int felt_vaerdi){ //er dette nok eller skal det være som i næste forslag? resten_af_funktion_navn }
2) void funktion_navn(int felt_vaerdi){ // her gemmes variablen i beloeb beloeb = felt_funk(); resten_af_funktionen }
Et spørgsmål til brug af return: Hvis jeg kalder en funktion1, hvori en anden funktion2 kaldes og jeg i denne funktion2 benytter return, vil denne værdi som returneres så kun være tilgængelig i funktion1 eller vil jeg også kunne få adgang til denne værdi i en helt tredje funktion?
Eller: int temp = felt_funk() funktion_navn(temp);
Eller som din 2) de gør det samme, og er mest et spørgsmål om smag og behag.
Dit anden spørgsmål: Hvis du fra funktione1 kalder funktion2 og denne returnerer en værdi til funktion1, vil andre funktioner ikke kunne se værdien, medmindre variablen er global, eller du returnerer den fra funktion1
drej_hjul();//returnerer felt_vaerdi runde();//skal tage felt_vaerdi ind
i drej_hjul funktionen afsluttes med: return felt_vaerdi;
i runde funktionen startes med: int beloeb = drej_hjul; void runde(beloeb)
I min .h fil som er inkluderet i starten af både runde(); og i drej_hjul(); er funktionerne defineret som
int drej_hjul(void); void runde(int beloeb);
Når jeg kører det får jeg følgende fejl:
too few arguments to function 'runde' og når jeg dobbeltklikker på fejlen ender jeg i main-funktionen hvor funktionen kaldes. Hvad kan det være, værdierne skulle den da få?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.