|
oberon$ cat TypeFunction.m2 MODULE TypeFunction; FROM InOut IMPORT WriteInt, WriteLn; VAR int: INTEGER; card: CARDINAL; BEGIN card := MAX(CARDINAL); int := INTEGER(card); WriteInt(int, 1); WriteLn; END TypeFunction. oberon$ m2c -o typef TypeFunction.m2 && typef -1 oberon$ |
Typfunktionen sind beliebig mächtig, beliebig gefährlich und
völlig unportabel.
| |
Trotzdem werden sie leider auch dann verwendet, wenn es
sichere Alternativen geben würde.
| |
Jeder Typname kann als Funktionsname verwendet werden.
Das Resultat hat dann genau den Typ des Typnamens.
| |
An den Typ des Arguments wird nur die Forderung gestellt,
daß er exakt die gleiche Größe in Bytes benötigt.
| |
Die Konvertierung erfolgt ohne Überprüfungen und ohne
Veränderungen der Repräsentierung.
|
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 04.02.1999 |