|
PROCEDURE Copy(VAR source, dest: GraphicalObject); BEGIN dest := source; END Copy; (* ... *) Copy(circle, rectangle); |
Jedes der beiden Teile in diesem Beispiel ist --
für sich genommen -- vollkommen korrekt und wird vom
Compiler entsprechend auch akzeptiert.
| |
Wenn zur Laufzeit jedoch eine Zuweisung eines
Kreises an einen Rechteck probiert wird, führt dies
zu einem Laufzeitfehler.
| |
Bei VAR-Parametern wird also nicht nur der
angegebene Typ des Parameters zur Übersetzzeit betrachtet,
sondern auch der tatsächliche Typ zur Laufzeit einer
Typ-Überprüfung bei einer Zuweisung oder Parameterübergabe
unterworfen.
| |
Dies gilt sowohl bei Record- als auch bei Zeiger-Typen.
|
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 29.06.1999 |