Hallo!
OK, habe mich da falsch ausgedrückt oder es noch nicht verstanden:
Code: Alles auswählen
int FUNKTION (int , int, int, int, int,int,int);
[...]
int FUNKTION (A1, A2, B1, B2, M, B){
int retval;
[...]
return(retval);
int Funktion definiert den Rückgabetyp von FUNKTION, wobei der Wert mit return(retval) zurückgegeben wird und A!, A2,...bis B sind die Übergabeparameter.
Das funktioniert solange, bis ich mehr als einen Rückgabewert aus einer Funktion benötige.
Benötige ich eine Funktion, bei der aus einem oder mehrern Parametern mehrere andere Parameter berechnet werden, verwende ich retval gar nicht oder als Fehlernummer.
Beispiel: Ich habe zwei Punkte in einer Ebene und will die Parameter der Geradengleichung (Steigung M und Y-Achsenabschnitt B) daraus berechen.
Dann wären A1, A2, B1, B2 in diesem Sinne "Eingabe"-Parameter und M und B "Rückgabe"-Parameter.
So ist m.E. auch IdGet definiert:
Code: Alles auswählen
/*ID I int internal property ID*/
/*extID O int external property ID*/
int (*IdGet )(int id, int *extid );
Der Parameter id "geht rein" und der Parameter extid "geht raus" und ich bekomme dann einen int-pointer auf extid.
Oder bin ich da vollkommen falsch?
Ciao
Bruno
P.S. float wäre besser gewesen, aber habe keinen Bock das nochmal zu schreiben... tun wir so als gäbs nur natürliche Zahlen

"21" ist nur die halbe Wahrheit...