Ich kann nicht herausfinden, wie man C-Stil Union machen. Im Beispiel in documentation gegeben:Wie C-style Union machen
(define a-union-type
(_union (_list-struct _int _int)
(_list-struct _double _double)))
(define a-union-val
(cast (list 3.14 2.71)
(_list-struct _double _double)
a-union-type))
alles funktioniert. Aber wenn gegossen wird geändert _INT:
(define a-union-val
(cast (list 3 2)
(_list-struct _int _int)
a-union-type))
bekomme ich folgende Fehlermeldung:
cast: representation sizes of from and to types differ
size of from type: 8
size of to size: 16
die irgendwie Sinn macht, aber Frage ist, wie diese Vereinigung zu schaffen?
Könnten Sie mir bitte einen Unterschied zwischen make-union-type und _union erklären? Wie es mir aus den Unterlagen unklar ist.
Vielen Dank.
3.14 und 2.71 sind nicht 'int's –
Richtig, aber das ist nicht das Problem hier ... Bearbeitet. – Ondrej