Syntaxfehler?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Syntaxfehler?

Beitrag von KatSeiko »

Kann mir mal bitte jemand erklären, wo bei diesem Prozedurkopf ein Syntaxfehler sein soll?

Code: Alles auswählen

Structure sPunkt
X.i
Y.i
EndStructure

Procedure.d Angle(Origin.sPunkt, PointA.sPunkt, PointB.sPunkt)
; ...
EndProcedure
Der Compiler-Fehler kommt beim Prozedurkopf von "Angle"...
PB-Hilfe hat geschrieben:Syntax

Procedure[.<Typ>] Name(<Parameter1[.<Typ>]> [, <Parameter2[.<Typ>] [= StandardWert]>, ...])
...
[ProcedureReturn Wert]
EndProcedure
Wenn ich mich nicht total irre, ist doch meine Strukture ein gültiger Typ, oder nicht?
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Strukturen können keine Parameter sein, höchstens Pointer auf strukturierte Variablen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Strukturierte Variablen können nur als Pointer übergeben werden

Code: Alles auswählen

Structure sPunkt
  X.i
  Y.i
EndStructure

Procedure.d Angle(*Origin.sPunkt, *PointA.sPunkt, *PointB.sPunkt)
  ; ...
EndProcedure
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Eine Struktur ist kein gültiger Typ. So geht das:

Code: Alles auswählen

Structure sPunkt
X.i
Y.i
EndStructure

Procedure.d Angle(*Origin.sPunkt, *PointA.sPunkt, *PointB.sPunkt)
; ...
EndProcedure
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

erster!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

zweiter!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

sechster!
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Beitrag von KatSeiko »

Thx. :D

Darf gern in der Hilfe erwähnt werden... :(
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Antworten