Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Funktionen Rückgabe Kategorie: Programmierung (von nitram - 6.04.2011 9:06)
Als Antwort auf Funktionen Rückgabe von ChristianS - 5.04.2011 22:01
Ich nutze:
eigenes Board, OSOPT V3.0
> Hallo,
> ich habe eine Funktion und möchte einen berechneten Wert zurückgeben. Ich habe mir das an
> der geo.Sasu-Funktion abgucken wollen, klappt bei mir aber nicht. Hier die SaSu Funktion:
>
> int zeit[2]
> ...
>  geo.SaSu(system.year(),system.month(),system.day(),
>           breitengrad,laengengrad,0,zeit);
> ...
>

> In zeit werden dann die beiden berechneten Werte zurückgegeben.
>
> Nun meine Funktion:
>
>
> function Status(int Number,int Mode,long offset,
>                 long on,long off,long onTime) returns int
> {
> .....
>  ontime=5;
> }
>
>

> nun der Aufruf der Funktion aus dem Programm:
>
>
> long time;
> ....
> check.Status(1,1,30,2100,2200, time)
>
> hwcom.num(time);
> ...
>

>
> wo ist mein Gedankenfehler?
>
> Danke und GruÃ?,
> ChristianS

Hallo Christian,

dein Denkfehler liegt beim Rückgabewert...
Die Funktion SASU gibt eigentlich nichts zurück - was gemacht wird ist folgendes:

Es wird ein Array definiert, das die Werte für den Sonnen Auf/Untergangszeiten enthält.
Der Funktion wird der Name dieses Array mitgegeben.
Die Funktion berechnet etwas und schreibt den Wert in das Array - es manipuliert also die
Variablen innerhalb der Funktion. Das "leere" return gibt nichts zurück...

Darum schreibst du ja auch nicht
zeit[] = Sasu(...)
       sondern du rufst die Funktion nur auf...
sasu(.....,zeit)


ich hoffe ich habe dich richtig verstanden...
nitraM
 


    Antwort schreiben


Antworten: