Pascal 定义索引为';a'';z';和';0'';9';帕斯卡语
我现在正在学习这门语言,所以在语法方面我真的不是很强,我无法在网上找到答案 我可以轻松地将数组拆分为两个数组,但当我尝试定义如下内容时:Pascal 定义索引为';a'';z';和';0'';9';帕斯卡语,pascal,Pascal,我现在正在学习这门语言,所以在语法方面我真的不是很强,我无法在网上找到答案 我可以轻松地将数组拆分为两个数组,但当我尝试定义如下内容时: Counts: Array['a'..'z','0'..'9'] of Integer; 我得到了我无法解决的错误: Incompatible types: got "ShortInt" expected "Array[48..57] Of SmallInt 这样定义数组可能吗?谢谢。声明 Counts: Array['a'..'z','0'..'9']
Counts: Array['a'..'z','0'..'9'] of Integer;
我得到了我无法解决的错误:
Incompatible types: got "ShortInt" expected "Array[48..57] Of SmallInt
这样定义数组可能吗?谢谢。声明
Counts: Array['a'..'z','0'..'9'] of Integer;
表示整数数组[48..57]的数组[97..122]
。它是一个二维数组
将其用作:
Counts['a','0'] := 42;
如果您的目的是创建一个一维数组,其中包含索引间隙,那么这是不可能的
从中看到的错误是因为该数组的访问方式类似于一维数组,可能是这样的:
program Hello;
var
Counts: Array['a'..'z','0'..'9'] of Integer;
begin
Counts['a'] := 42;//Error: Incompatible types: got "ShortInt" expected "Array[48..57] Of SmallInt"
end.
您是否尝试将二维数组声明为类型,然后将其分配给变量:
Type
twoD = Array['a'..'z','0'..'9'] of Integer;
Var
V2: twoD
您的声明表示整数数组[48..57]的
数组[97..122]
。将其用作:计数['a','0']:=42代码>如果您的目的是创建一个一维数组,其中包含一个索引间隙,那么这是不可能的。这一行在这里编译得很好。你确定你的错误在那一行吗?@MarcovandeVoort,Counts['a']:=42
将给出E2010不兼容的类型:Delphi中的“整数数组[48..57]和“整数”
。我猜OP看到的是一个类似的错误。你使用的是哪种Pascal编译器?@MartynA这里的那个: