我有一个队列定义
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] of Queue;
并希望像for i:=0 to 9 do P[i].init;
一样初始化其中的队列,但是编译器抱怨P似乎没有被初始化。
那么如何正确初始化对象数组呢?感谢。
答案 0 :(得分:2)
Init只调用构造函数。初始化是通过使用构造函数作为第二个参数调用new来完成的,请尝试
for i:=0 to 9 do
new(P[i], Queue.Init));