Arrays 如何在Pascal中初始化对象数组?
我定义了一个队列Arrays 如何在Pascal中初始化对象数组?,arrays,object,queue,pascal,freepascal,Arrays,Object,Queue,Pascal,Freepascal,我定义了一个队列 Queue = object head, tail : pNode; constructor init; procedure insert(what : data); ... end; 在哪里 constructor Queue.init; begin new(head); tail := head; head^.next := nil; end; 然后我得到了队列的p:array[0..9]并希望初始化其中的队列,如i:=0
Queue = object
head, tail : pNode;
constructor init;
procedure insert(what : data);
...
end;
在哪里
constructor Queue.init;
begin
new(head);
tail := head;
head^.next := nil;
end;
然后我得到了队列的p:array[0..9]
并希望初始化其中的队列,如i:=0到9 do P[i].init的代码>,但编译器抱怨P似乎没有初始化
那么,如何正确初始化对象数组呢?谢谢。Init只调用构造函数。初始化是通过使用构造函数作为第二个参数调用new来完成的,请重试
for i:=0 to 9 do
new(P[i], Queue.Init));
显示声明P
的代码和初始化代码。另外,永远不要更改构造函数的名称:始终使用Create
。对于i:=0到9的do P[i]:=Queue.init,您需要将其称为代码>。请不要说“我有东西,我这样使用它”。发布编译器不满意的实际代码,以便我们可以帮助您。我们无法对您没有实际提供的代码进行故障排除,而即时编写的代码可能会隐藏实际问题。@mirgeeFree Pascal
是一套工具,主要是免费的跨平台编译器Pascal语言
由Niklaus Wirth
设计,后来由Borland公司
扩展为Object Pascal语言
flavor,以Delphi
的形式销售。在它的时代,它非常流行,存在数百万行代码(我也写了一些)。object关键字
在~1995年成为不推荐使用的功能。这个和指针
和记录
仍在发挥作用。但对于链接列表等教程,谷歌搜索类关键字
和Delphi
——要容易得多。你读什么“书”以及为什么?@mirgee如果你想从书中找出帕斯卡的例子(上个世纪写的第一版)然后1用类替换记录
2用类替换对象
3用类替换^。
用4删除T和^T之间的差异1件事不需要两个名称5添加公共
可见性修改器6用免费
6名称替换删除x
构造函数和析构函数Create
和Destroy
7在查找代码帮助时,然后搜索Delphi
(语言)您将找到许多示例和答案。抛出3个错误:1)预期指针类型,但得到队列2。)预期非法表达式3。),但标识符init foundAargh,是正确的。通常使用指针,而不是静态对象。我想这警告已经过时了。您可以将对象填充为零。“警告已过时”是什么意思?如何填充对象?无论如何,我认为你的答案是正确的;