Совместимость
Совместимость типов требуется при конструировании выражений, а также при вызовах подпрограмм (для параметров-значений). Совместимость означает, что для переменных этих типов возможна операция присваивания - хотя во время этой операции присваиваемое значение может измениться: произойдет неявное приведение типов данных (см. п. "Приведение типов данных" ниже).
Два типа Т1 и Т2 будут совместимыми, если верен хотя бы один вариант из перечисленных ниже:
- Т1 и Т2 эквивалентны (в том числе совпадают);
- Т1 и Т2 - оба целочисленные или оба вещественные;
- Т1 и Т2 являются подмножествами одного типа;
- Т1 является некоторым подмножеством Т2;
- Т1 - строка, а Т2 - символ (см. лекцию 5);
- Т1 - это тип pointer, а Т2 - типизированный указатель (см. лекцию 10);
- Т1 и Т2 - оба процедурные, с одинаковым количеством попарно эквивалентных параметров, а для функций - с эквивалентными типами результатов (см. лекцию 8).