我最近编了一个程序
首先定义了几个boolean型的数组,但是搞不清楚初始默认值是多少。
然后就想编一个通用的初始化boolean数组的子程序,但是用了指针之后就显示编译错误。ErrDisp:    array[1..100] of boolean;
ErrSave:    array[1..100] of boolean;type
  Blpoint=^boolean;procedure IniArray(p: Blpoint);
var
  i: byte;
begin
  for i:=1 to 100 do //这个地方本想用length函数,但是用不了
    p^[i]:=false;
end;请问怎么解决呢 

解决方案 »

  1.   

    不知道你想要什么
    Blpoint 只是个指针,length肯定不行, (p: Blpoint); 
    P这个参数应该是数组,猜测你的意思
      

  2.   

    你的意思是不是
    type 
      Blpoint=^ErrDisp; 
      

  3.   

    p^[i]:=false; 
    这个地方编译出现错误我本来是想编一个函数,只要把数组的初地址赋给指针p,就能初始化这个数组以前用c是可以的,我学delphi不久,不是很懂
      

  4.   

     
    是不是所有需要初始化的数组都要定义一遍?
    就像:
    type 
      Blpoint=^Etype;
      B2point=^ErrDisp;
      

  5.   

    不是很清你想做什么,看看下面的代码对你有没有帮助type
      TMyBoolArray = array of boolean;
    var
      ErrDisp: TMyBoolArray;
      ErrSave: TMyBoolArray;
      procedure InitArray(BoolArray: TMyBoolArray);
      var
        i: integer;
      begin
        for i := Low(BoolArray) to High(BoolArray) do
        begin
          BoolArray[i] := False;
        end;
      end;
    begin
      SetLength(ErrDisp, 100);
      InitArray(ErrDisp);
      SetLength(ErrSave, 100);
      InitArray(ErrSave);
      

  6.   

    ErrDisp:    array[1..100] of boolean; 
    ErrSave:    array[1..100] of boolean; 
    定义成全局变量,里边参数都是FALSE的