Typfunktionen

 [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

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.
 

 [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 04.02.1999