Procedure als Funktion, die eine Structure zurück gibt
Verfasst: 30.04.2012 20:15
In FreeBASIC und anderen BASIC-Dialekten kann eine FUNCTION auch einen benutzerdefinerten Typ zurück geben. Beispiel:
TYPE Vektor
x AS DOUBLE
y AS DOUBLE
END TYPE
FUNCTION VektorAdd(a AS Vektor, b AS Vektor) AS Vektor
(Code zum addieren zweier Vektoren ...)
END FUNCTION
Wenn ich so etwas mit PureBasic versuche, bekomme ich eine Fehlermeldung, dass ProcedureReturn mit Structures nicht funktioniert. Beispiel:
Geht das nur so, also nicht als Funktion?
TYPE Vektor
x AS DOUBLE
y AS DOUBLE
END TYPE
FUNCTION VektorAdd(a AS Vektor, b AS Vektor) AS Vektor
(Code zum addieren zweier Vektoren ...)
END FUNCTION
Wenn ich so etwas mit PureBasic versuche, bekomme ich eine Fehlermeldung, dass ProcedureReturn mit Structures nicht funktioniert. Beispiel:
Code: Alles auswählen
Structure Vektor
x.d
y.d
EndStructure
Procedure.Vektor VektorAdd(*a.Vektor, *b.Vektor)
Protected c.Vektor
c\x = *a\x + *b\x
c\y = *a\y + *b\y
ProcedureReturn c
EndProcedure
Code: Alles auswählen
Procedure Vektoradd(*a.Vektor, *b.Vektor, c*Vektor)
*c\x = *a\x + *b\x
*c\y = *a\y + *b\y
EndProcedure