Typenkompatibilität in Modula-2

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

oberon$ cat Error.m2
MODULE Error;

   VAR
      int: INTEGER;
      card: CARDINAL;

BEGIN
   IF int > card THEN
   END;
END Error.
oberon$ m2c Error.m2
errors in Error.m2
   8       IF int > card THEN
                        ^ type incompatible operands
oberon$

*Auf den ersten Blick wirken die Kompatibilitätsregeln in Modula-2 etwas sehr streng und eigenwillig.
 
*Dennoch sind sie wohlbegründet, wenn der Hintergrund bekannt ist. So gibt es zum Beispiel zwei unterschiedlich definierte Vergleiche für ganze Zahlen (INTEGER) und nicht-negative ganze Zahlen (CARDINAL). Welcher sollte also in diesem Beispiel genommen werden?
 

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