Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#13

Re: Zugriff auf Variante Teile in Record-Typen

  Alt 25. Nov 2005, 16:02
Zitat von ma2xx:
nur warum nicht an der gleichen Anfangsadresse?
Weil der Delphi-Compiler den varianten Teil der Struktur offensichtlich nicht als Einheit betrachtet und die Ausrichtung jeweils einzeln für die Mitglieder der 'Union' berechnet (dies ist wahrscheinlich nicht das, was die meisten Entwickler erwarten würden - kurz, man könnte es als Bug bezeichnen (ich kenne die Delphi-Dokumentation nicht auswendig )).

Zitat von ma2xx:
Der Code in C++ sieht wie folgt aus (wenn ich mich nicht irre)
Ja, leider...
...in einer Typ-Definition haben anonyme Unions eigentlich nichts zu suchen.
( siehe http://msdn.microsoft.com/library/de...m/class_33.asp )

Es wäre besser gewesen, wenn die Deklaration so ausgesehen hätte:
Code:
typedef struct tag_TTest {
  bool     Typ;
  union {
    int    T1;
    double T2;
  } u1;
} TTest, * PTest;
Wie auch immer, es hält dich niemand davon ab, die Struktur in Delphi anders zu übersetzen (zum Beispiel mit u1 als inline-record)...
  Mit Zitat antworten Zitat