Pascal将变量分配给RAD Studio XE中的记录字段



有人能评论一下问题在哪里吗?

编译器错误显示:错误:不兼容的类型:"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;

最新更新