Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten (https://www.delphipraxis.net/207911-unverstaendliche-compilerwarnung-%96-erwartet-aber-enthalten.html)

Andreas13 15. Mai 2021 09:40

Delphi-Version: XE5

Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten
 
Hallo Community,
Warum gibt der XE5-Compiler hier diese Warnung aus?
Delphi-Quellcode:
Type
  DoubleDouble = Record
  public
    X: Array [0..1] of Double;
  . . .
End;

  . . .

Type
  _DoubleDoubleHelper = Record Helper for DoubleDouble
  Const
    Pi: DoubleDouble = (X: (3.141592653589793116E+00,
                            1.224646799147353207E-16));
  . . .

End;
Compilerwarnung: Erwartet: ')' aber ','enthalten . . .
Fehlerhaft wird das schließende Komma markiert in dieser Zeile:
Delphi-Quellcode:
(X: (3.141592653589793116E+00,
:wall:

Was ist hier falsch und wie kann ich den Fehler beheben?

Danke für Eure Hilfe!

Gruß, Andreas

[EDIT]
Den von mmw in #6 bemerkten Tippfehler habe ich gerade korrigiert. :oops:

venice2 15. Mai 2021 09:52

AW: Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten
 
zähle mal die offenen und geschlossenen Klammern. Fällt was auf?

himitsu 15. Mai 2021 09:52

AW: Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten
 
Weil diese Klammer falsch ist?
In die Klammer muß ja ein zweiter Wert für das Array rein. :wink:

Ach ja, nach dem X kommt in dem Record nichts mehr, also sagt dir diese Meldung, dass dort kein Komma kommen kann, weil der Record zu Ende ist.



PS: Es gibt eine Konstante für Pi.


@venice2: Zählen hilft hier nur bedingt.
Ja, die erste Klamme beim )); stimmt nicht (obwohl sie ja eigentlich richtig ist),
aber es löst nicht dieses Problem, dass die Klammer zu früh zu ging.

venice2 15. Mai 2021 09:56

AW: Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten
 
Zitat:

aber es löst nicht dieses Problem, das die Klammer zu früh zu ging.
Richtig aber alleine das hätte ihn schon stutzig machen müssen ;)

Andreas13 15. Mai 2021 10:09

AW: Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten
 
Zitat:

Zitat von himitsu (Beitrag 1489496)
PS: Es gibt eine Konstante für Pi.

Ja, aber das ist 128-Bit genau.

Der obige Code ist Teil der Bibliothek
Delphi-Quellcode:
Neslib.MultiPrecision.pas
und diese treibt mich in den Whnsinn. . . https://entwickler-ecke.de/topic_Hil...7d3d26ea45cba5

Dort bin schon seit 2 Wochen mit Sebastian Jänickes tatkräftiger Unterstützung auf der Fehlersuche. Eigentlich wollte ich schon gestern kapitulieren, doch ich kann die Finger doch nicht davon lassen.

Weil ich auf der Suche nach verschleppten Fehlern bin, erschien mir diese Art der Konstanten-Deklaration in der Bibliothek verdächtig. Möglicherweise wird dieses Konstrukt in neueren Delphi-Versionen anders gehandhabt als in XE5 oder XE6.

Was wäre die korrekte Konstanten-Deklaration, die auch XE5 richtig deutet?
Andreas

mmw 15. Mai 2021 10:13

AW: Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten
 
hallo,

Delphi-Quellcode:
Type
  _DoubleDoubleHelper = Record Helper for DoubleDouble
  Const
    Pi: DoubleDouble = (X: (3.141592653589793116E+00,1.224646799147353207E-16));
end;
so war's glaube ich gemeint. siehe #3

Gruß

himitsu 15. Mai 2021 10:13

AW: Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten
 
Wie esagt, nicht das Komma, sondern die Klammer davor ist falsch. (die Fehlermeldung "Anzahl" im Array ist falsch, kommt wohl erst später)

Andreas13 15. Mai 2021 10:48

AW: Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten
 
Zitat:

Zitat von mmw (Beitrag 1489499)
Delphi-Quellcode:
Type
  _DoubleDoubleHelper = Record Helper for DoubleDouble
  Const
    Pi: DoubleDouble = (X: (3.141592653589793116E+00,1.224646799147353207E-16));
end;

Dei gleiche Compilerwarnung bleibt trotzdem erhalten...
Gruß, Andreas

Andreas13 15. Mai 2021 10:58

AW: Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten
 
Zitat:

Zitat von himitsu (Beitrag 1489500)
Wie esagt, nicht das Komma, sondern die Klammer davor ist falsch. (die Fehlermeldung "Anzahl" im Array ist falsch, kommt wohl erst später)

Ohne Klammer davor "meckert" der Compiler sofort.
Übrigens:
Es gibt noch eine zweite (neben vielen!) Warnung zum obigen Eintrag, vielleicht ist die hilfreich bei der Lösung der Problematik:
"undeklarierter Bezeichner: 'X' in Zeile..."
Das ist für mich genau so unverständlich.

Andreas13 15. Mai 2021 11:08

AW: Unverständliche Compilerwarnung – Erwartet: ')' aber ','enthalten
 
Zitat:

Zitat von mmw (Beitrag 1489499)
hallo,
Delphi-Quellcode:
Type
  _DoubleDoubleHelper = Record Helper for DoubleDouble
  Const
    Pi: DoubleDouble = (X: (3.141592653589793116E+00,1.224646799147353207E-16));
end;
so war's glaube ich gemeint. siehe #3

Danke, mmw! Den von Dir genannten Tippfehler habe ich erst jetzt bemerkt und korrigiert.
Damit ist mein Post #8 ist hinfällig... :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 Uhr.
Seite 1 von 3  1 23   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz