有人能评论一下问题在哪里吗?
编译器错误显示:错误:不兼容的类型:"Array"one_answers"name"第行出现错误:Student.s_name:=n;
代码如下。
program datafiles;
Uses WinCRT;
Type
studentRecord = Record
s_name: packed array[0..30] of char;
end;
name = packed array[0..30] of char;
Var
Student: StudentRecord;
n: name;
Begin
readln(n);
Student.s_name:=n;
end.
Delphi语言文档中描述了分配问题:
阵列类型和分配
只有当数组属于相同类型时,它们才具有赋值兼容性由于Delphi语言对类型使用名称等价,因此以下代码将不会编译。
var Int1: array[1..10] of Integer; Int2: array[1..10] of Integer; ... Int1 := Int2;
要使赋值工作,请将变量声明为:
var Int1, Int2: array[1..10] of Integer;
或:
type IntArray = array[1..10] of Integer; var Int1: IntArray; Int2: IntArray;