Endlose Rekursion

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Bisonte
Beiträge: 2430
Registriert: 01.04.2007 20:18

Endlose Rekursion

Beitrag von Bisonte »

Hallo. Ich stolpere gerade über eine Compiler Meldung...

Code: Alles auswählen

Structure mit_Fehler
  a.i
  b.i
  c.mit_Fehler
EndStructure
ergibt Compiler Fehler : "endless recursivity"... ok klingt logisch, dachte ich, bis ich aus versehen :

Code: Alles auswählen

Structure ohne_Fehler
  a.i
  b.i
  *c.ohne_Fehler
EndStructure
geschrieben hatte.... was mir jetzt nicht mehr so logisch erscheint.
Das sollte doch eigentlich auch eine "endless recursivity" Meldung geben ...
oder liege ich da falsch ?

Momentan bin ich mit der 5.71Beta2 x64 auf Windows x64 dabei.
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6999
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Endlose Rekursion

Beitrag von STARGÅTE »

Im ersten Code wird das Feld "c" mit der Struktur "mit_Fehler" immer wieder rekursiv hinzugefügt.
Hier ist die Meldung also richtig.

Im zweiten Code wird das Feld "*c" nur als Zeiger (Pointer, also eine Integer) einmal hinzugefügt.
Der Speicher für die Struktur "ohne_Fehler" wird also nicht bereit gestellt.
"*c" wäre zu beginn 0, so dass du auch nicht auf *c\a zugreifen könntest, ohne *c vorher zu befüllen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Endlose Rekursion

Beitrag von Josh »

Eine Diskussion in dieser Richtung hat es erst mal im englischen Forum gegeben:

https://www.purebasic.fr/english/viewto ... =structure
Benutzeravatar
Bisonte
Beiträge: 2430
Registriert: 01.04.2007 20:18

Re: Endlose Rekursion

Beitrag von Bisonte »

Ok. Also doch logisch ;)
Danke
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Antworten