Сумісність в операціях присвоювання
Сумісність по
присвоюванню необхідна, якщо має місце
присвоювання значення, наприклад, в
операторі присвоювання або при передачі
значень параметрів.
Значення
типу T1
є сумісним по присвоюванню з типом T2
(тобто допустимо оператор T1:=T2),
якщо виконується одна з наступних умов:
-
T1
і T2
мають тотожні типи, і жоден з них не є
файловим типом або структурним типом,
що містить компонент із файловим типом
на одному зі своїх рівнів.
-
T1
і T2
є сумісними Перерахованими типами, і
значення типу T2
попадають у діапазон можливих значень
T1.
-
T1
і T2
є дійсними типами, і значення типу T2
попадають у діапазон можливих значень
T1.
-
T1
є дійсним типом, а T2
є цілочисловим типом.
-
T1
і T2
є рядковими типами.
-
T1
є рядковим типом, а T2
є символьним типом.
-
T1
і T2
є сумісними множинними типами, і всі
члени значення типу T2
попадають у діапазон можливих значень
T1.
-
T1
і T2
є сумісними типами вказівників.
-
T1
і T2
є сумісними процедурними типами.
-
T1
являє собою процедурний тип, а T2
- процедура або функція з ідентичним
типом результату, ідентичним числом
параметрів і відповідністю між типами
параметрів.
На етапі компіляції
й виконання видається повідомлення про
помилку, якщо сумісність по присвоюванню
необхідна, а жодна з умов попереднього
списку не виконано.