任何人都可以评论问题出在哪里吗?
编译器错误说:错误:不兼容的类型:'数组'和'名称'在线错误: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;