9.2. Совместимость типов
Совместимость типов требуется в выражениях (в том числе и в операциях отношения).
Два типа Т1 и Т2 совместимы в следующих случаях:
- Т1 и Т2 - один и тот же тип или они идентичны;
- Т1 и Т2 - вещественные типы;
- Т1 и Т2 - целые типы;
- один тип - вещественный, а другой - целый;
- один тип представляет собой тип-диапазон другого;
- оба типа являются типами-диапазонами какого-то одного типа;
- оба типа являются типами-множествами с совместимыми базовыми типами;
- один тип является строкой, а другой - строкой или символом;
- один тип - Pointer, а другой - любой тип-указатель;
- один тип PChar, а другой - массив символов, заканчивающийся символом с кодом 0 (только при наличии ключа компилятора {$Х+} - см. п. 17.7.1);
- оба типа являются указателями, полученными с помощью адресной операции @, примененной к величинам идентичных типов (только при наличии ключа компилятора {$Т+} - см. п. 17.7.1);
- оба типа - процедурные типы с идентичными типами результатов (для типа-функции), идентичным числом параметром и попарной идентичностью типов этих параметров.
|