在下面的代码中,我得到了错误注释:
function ToPos : tValidPos;
type
tPos = (poAboveCenter , poAboveLeft , poAboveRight);
tValidPos = array [Low (tPos)..High (tPos)] of tPos;
const
validPos : tValidPos = (poAboveRight, poAboveLeft, poAboveCenter);
var
i, pos : tValidPos;
begin
i := Low (validPos); // Incompatible types: 'tValidPos' and 'tPos'
pos := validPos [i]; // Incompatible types: 'Enumeration' and 'tValidPos'
Result := i;
for i := Low (validPos) to High (validPos) do
if validPos [i] = pos then begin
Result := validPos [i];
Break;
end;
end;
我不知道出了什么问题,因为
i
并且validPos
都是类型tValidPos
- 同样适用于
pos
和validPos
如果我使用括号,pos [0] := validPos [i]
我仍然会得到“不兼容的类型:'Enumeration' and 'tValidPos'”
请帮我解决这个问题。