Сумісність в операціях присвоювання
Сумісність по присвоюванню необхідна, якщо має місце присвоювання значення, наприклад, в операторі присвоювання або при передачі значень параметрів.
Значення типу 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 - процедура або функція з ідентичним типом результату, ідентичним числом параметрів і відповідністю між типами параметрів.
На етапі компіляції й виконання видається повідомлення про помилку, якщо сумісність по присвоюванню необхідна, а жодна з умов попереднього списку не виконано.